指向二维数组的指针如何定义?

[复制链接]
查看11 | 回复1 | 2017-11-23 13:36:40 | 显示全部楼层 |阅读模式
简略如下:
int arrayA[2][3] = { {1, 2 ,3},{11,22,33}};
int arrayB[2][5] = {{5,6,7,8,9},{55,66,77,88,99} };
现在我想定义一个变量array,当条件A成立时,array指向arrayA,当条件B成立时,array指向arrayB.
刚才定义成双指针int ** array 形势,编译错误。
我的想法是:
if (A条件成立) {
array = arrayA;
} else {
array = arrayB;
}
然后对array[j] 进行操作。
该如何定义好?

回复

使用道具 举报

千问 | 2017-11-23 13:36:40 | 显示全部楼层
方案一:int arrayA[2][3] = { {1, 2 ,3},{11,22,33}};int arrayB[2][5] = {{5,6,7,8,9},{55,66,77,88,99} };int *array = NULL;if (A条件成立) { array = &arrayA[0][0];} else{ array = &arrayB[0][0];}方案二:这种方式是定义指向二维数组的行的数组指针,列必须相同,行可以不同,所以这里要定义两个数组指针变量!int arrayA[2][3] = { {1, 2 ,3},{11,22,33}};int arrayB[2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行