mnbn.net
当前位置:首页 >> 二维数组指针传递 >>

二维数组指针传递

C语言中 指针做函数参数传递二维数组有两种基本方法: 1、传递“数组指针” #include void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组{ int i,j; for( i=0;i

C语言中 指针做函数参数传递二维数组有两种基本方法: 1、传递“数组指针” #include void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组{int i,j;for( i=0;i

int(*p)[10]定义了一个指向二维数组的指针p,赋给它10个长度。然后把a数组的值赋给(*p)[10],注意,这里是a数组是5行10列的,放入(*p)[10]是把a[0][0],a[0][1],a[0][2],a[0][3],a[0][4],a[0][5],a[0][6],a[0][7],a[0][8],a[0][9]放入...

int main(int argc, char* argv[]) { int a[2][2] = { 1, 2, 3, 4 }; int (*p)[2]; p = a; cout

// int a[2][2] = {0, 1, 2, 3}; // **a 就是 a[0][0] 第一行第一列。 // *(*a + 1) 就是 a[0][1] 第一行第二列。 // **(a + 1) 就是 a[1][0] 第二行第一列。 // *(*(a + 1) + 1) 就是 a[1][1] 第二行第二列。

直接将二维数组首地址传给一个二级指针形参是不可能的,因为二者的类型不同;如果要在创建二级指针空间时给予相应的转换,做起来也是较麻烦的。 有两个办法可借鉴: 传一个一行的指向一维数组的指针给指向数组的指针形参,即传给形参int (*p)[n]...

#include void main() { void zhuan(int (*array)[3]); int i,j,a[3][3]={1,3,5,7,9,11,13,15,17}; zhuan(a); printf("\n"); } void zhuan(int (*array)[3]) { int i,j; for(i=0;i

int a[4][5],*p[4],i; //p表示指针数组 for( i=0;i

用指向数组的指针吧,还要看二维数组的具体情况。你这里如果要指向b,那那就声明一个int (*p)[100]=b;就可以了。

网站首页 | 网站地图
All rights reserved Powered by www.mnbn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com