假设我有一个指针
char *p;
在我的 main
函数中我有一个多维数组 a:
char a[10][15];
我希望 p
指向 a
并且能够使用 p[x][y]
来引用大批。我以为 p = a;
通常会处理这个问题,但我遇到了转换错误。
p = &a[0][0];
创建新指针,但将其视为一维字符数组。 有什么方法可以使指针将数组视为二维数组?
请注意,当我定义 p
时,我还不知道 a
的维度。
最佳答案
声明
char * p;
使 p
成为指向 char
类型对象的指针,或指向 char
类型对象数组的第一个元素的指针。
您想声明一个指向 15 个 char
数组的指针,或者指向一个 15 个 char
数组的数组的第一个元素的指针:
char (* p) [15];
现在你可以说
p = a;
并通过p
访问a
的元素。
关于c - 在不知道维度的情况下在 C 中创建指向多维数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53807775/