c - 我如何阅读这个复杂的 C 声明?

标签 c pointers matrix multidimensional-array

我是 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/

相关文章:

javascript - 使用react显示多维数组/矩阵

python - 随机矩阵,各列值的总和不大于 1

c - 错误 : conflicting types for ‘atoll’

Android NDK 在调用 getSystemService 的 CallObjectMethod 中崩溃

c - 这是计算二进制数中 0 的数量的正确方法吗?

C:将字符串数组分成单个单词

c - 用C打开文件时出现段错误

c - 结构中的指针

java - 我在java中遇到了指针问题。如何修复 java.lang.NullPointerException?

c - 使用带有多个参数的 execlp 运行 linux 命令作为 c 中的字符串