c - 为什么我不能取消引用指向多维数组的指针?

标签 c

基本问题..不得不问。任何帮助将不胜感激。

问:为什么我不能像这样取消对多维数组的指针的引用:

int arr [2][2] = { {1, 2} , {3, 4} };

printf("%d ", *arr); 

最佳答案

你可以取消引用它,只是结果不会是你所期望的:*arr不是 int ,它是一个指向 int 的指针(好吧,一维数组)。如果你想看 1打印出来,再加一颗星:

printf("%d ", **arr);

关于c - 为什么我不能取消引用指向多维数组的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832793/

相关文章:

c - 为什么输出是这样的?

c++ - 使用 extern 的前向声明(在 C/C++ 的上下文中)

c - 使用 LD_PRELOAD 包装克隆系统调用

c - 递归的c文件列表_ stat()函数,导致dir中的文件失败

c - Unix:将文件从当前目录复制到 C 中的另一个目录

充满垃圾的C文件

c - 将 NAN float 转换为 int 时出现问题

c - 加密/解密 - Libsodium 中的 key 验证加密(初学者)

c - 函数的可变参数中是否需要 va_start?

c - 了解 Unix 中的 `read, write` 系统调用