C语言中关于二维数据指针的问题?

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:13:18
uchar i;
uchar a[][4]={"PASS"},{"FAIL"},{"NONE"};
uchar b[][5]={"10000"},{"20000"},{"30000"};
uchar (*ip)[4];
二维数组指针变量ip可不可以不指定列大小?或者列大小是一个变量
写成这样行吗: uchar (*ip)[];
写成这样行吗: uchar (*ip)[i];
其实我想问的最终问题是定义一个二维数组指针变量,这个指针可不可以时而指向二维数组a,时而又指向二维数组b。也就是动态的二维数姐指针如何实现。

uchar a[][4]={"PASS"},{"FAIL"},{"NONE"};
uchar b[][5]={"10000"},{"20000"},{"30000"};
这种初始化有问题吧!
二维数组指针变量ip不可以不指定列大小。
如果两个二维数组的列数是一样的就可以时而指向二维数组a,时而又指向二维数组b。但若不是则不行。

其实没有二维数组指针变量这个用法之说 你说的有点问题
我想你是想 让一个指针变量可以改变它所指向的二维数组是吧
你用(*ip)[] 这种方式指定后 再指向其他二维数组会出错
但你可以不用这种方式
你可以 例如
int a[5][5],b[3][3];
int *p;
p=a[0];
p=b[0];
这种也是一种方式 就可以到达你要的效果了