我是 C 语言新手,在读取函数中的此矩阵声明时遇到问题。
void foo(int (*array)[][3], int row, int col)
在函数中如何访问数组元素 - 比如打印它的值。
最佳答案
int (*array)[][3]
声明array
为指向第二维为3
的二维数组的指针。用法示例:
#include <stdio.h>
void foo(int (*array)[][3], int row, int col)
{
printf("%d\n", (*array)[row][col]);
}
int main()
{
int array[10][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
foo(&array, 2, 2);
return 0;
}
输出:
9
关于c - 我如何阅读这个复杂的 C 声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879122/