我在 C 中有以下代码,其中 G
是一个全局变量:
long *G;
int function(long matrix[35][10]){
G=&matrix[0][0];
}
一旦我存储了matrix[0][0]
的地址在G
,我可以访问 matrix
的所有元素像这样:
G[0]=...
G[1]=...
.
.
.
G[349]=...
我希望能够访问所有这些元素,类似于使用 matrix
的方式,通过使用另一个函数内部的两个方括号。我怎样才能做到这一点?也就是说,我如何告诉编译器这个二维数组中第二个维度的偏移量是 10?
我确实看过这个答案: Create a pointer to two-dimensional array ,但我不确定用户是否问了完全相同的问题。如有错误请指正
最佳答案
long (*array)[10] = (long(*)[10])G;
array
是一个指向 10 long
数组的指针。
关于c - 如何将 (long *) 转换为二维 long 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448480/