《 外贸网

  • 首页
  • 你的位置:首页

    二维数组指针做形参

    来自:自媒体   发布日期:2024.05.19

  • c语言c++语言如何用二维数组做形参?
  • 答:C/C++中,二维数组的第一维的每一个元素都是一维数组。所以,用指向一维数组的指针或用第一维维数空缺的二维数组作为函数的形式参数都能达到目的。设处理数组为int型,举例代码如下://#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"void myprint(int (*p)[5]){...

  • 把一个二维数组作为函数形参,需要指定数组的列数,但是这样太不方便了...
  • 答:使用二维指针 int **num = (int **)malloc(n * sizeof(int *)); for(y = 0;y < n;y++) num[y] = (int *)malloc(n * sizeof(int)); //原型 int function(int *num,int size_x,int size_y) ;

  • 关于C语言的二维数组作为函数参数的问题?
  • 答:int (*arr)[m];所以,传递二维数组作为参数,实际上就是传递了一个指针。将形参的类型定义成int*,再在函数内部转换回指向数组的指针就行了,比如:void f(int *p,int row,int column){ int (*arr)[column]=(int (*)[column])p;//使用二维数组arr } 这样传递参数:int n=5,m=6;int a...

  • C++中二维数组作函数形参,如果事先不知道第二维大小,如何实现。定义二维...
  • 答:以个人对C++的理解来说,指定第二维是因为,二维数组是一个指向一维数组第一个元素首地址的指针数组,在编译期间不一定要知道指针数组有多少元素,但必须知道每个元素的大小(也就是个数*sizeof( elm_type)),是不是跟一维数组相像(到了一维数组 ,可能是跟编译器有关了吧);此外,c++函数参数的数...

  • C++编写程序遇到二维数组指针作为形参在子函数中怎么引用,为什么会有非 ...
  • 答://你的定义中,p是一个指针(相当于一维数组),而不是一个数组的指针,//所以取了取值后,再次取值是错误的 //得下面这样定义,p才是一个数组的指针(二维数组实际上是一个数组的数组)int sawap(int (*p)[3],int rowsize,int linesize){ int i, j,sum=0,m;for(i=0; i<rowsize; i+...

  • 二维数组指针作为参数,函数返回值也是一个二维数组指针时该如何写?为...
  • 答:((int *)A+n*i+k) 形式访问错误!因为*((int *)A+n*i+k)获得的值是地址,故“运行结果却是很大的数”,你可以调试程序,看变量的值就非常清楚了!另外,非常非常重要的一点:(指针+n)移动的距离是“指针指向的对象类型的长度 * n”,比如,(int *)A经过强制转换后,A已经成为int型...

  • 二维数组使用指针变量做函数参数是什么意思? 在什么情况下,函数参数才...
  • 答:void p (int a[2][3])//正确void p (int a[][3])//正确void p (int a[][])//错误void p (int a[2][])//错误那么如果你想要用指针来做参数传递二维数组,那你需要定义一个指向数组(大小等于二维数组列数)的指针,比如:void p (int (*a)[3])//正确注意:要加括号,如果写...

  • c语言二维数组做形参的疑惑
  • 答:所以a叫做“数组的数组”——C中严格说来没有二维数组。那么,你要用一个指针来记录a,就要用一个能表示“数组的数组”的指针,以下代码是正确的:int (*p)[4] = a;//正确 只有这样才能保证++p使p指向a的下一对像(该对像是一个数组)。顺便提一句:不要写成“int *p[4];”

  • C语言中 指针做函数参数传递二维数组
  • 答:void fun(int (*p1)[3],int (*p2)[3]);int main(){ int p1[3][3]={{7,8,9},{4,5,6},{1,2,3}} ;int p2[3][3] = {0};int i = 0, j = 0;fun(p1,p2);for(i = 0;i < 3;i++){ for(j = 0;j < 3;j++){ printf("%d ",*(*(p2+i)+j));} prin...

  • ...就可以将二维数组作为函数形参,并且在函数中仍能使用两个方括号...
  • 答:一般都是用数组指针做形参的 比如 int (*a)[10] 但这个也是指定列数的一种。在不指定列数,同时在函数中要使用[][]方式访问 那么是不能用二维数组做形参的 只能使用二维指针。一个变通的方式, 是做一个指针数组 int *p[10];然后把二维数组的各行首地址赋值到p[]的各个元素上。用p传参数,...