c - 为什么我们需要地址运算符来访问二维字符串元素

标签 c

为什么我们需要地址运算符来访问二维字符串元素,而在简单数组的情况下我们不需要。在简单数组的情况下我们只使用下标符号 例如

char  masterlist[6][10] = {
       "akshay",
       "parag",
       "raman",
       "srinivas", 
       "gopal",
       "rajesh"
         };

printf("\nOriginal: %s %s", &names[2][0], &names[3][0] ) ;  

而在数组的情况下我们只使用

printf("%d",a[2][3]);

其中 a 是一个整数数组。

最佳答案

原因很简单,当 printf%s 作为格式说明符调用时,它需要一个 char * 类型的参数,而不是 char,如果您将它与 %d 进行比较,您会期望它。

关于c - 为什么我们需要地址运算符来访问二维字符串元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25265525/

相关文章:

c++ - 类似 C 的回调处理 : which algorithm preforms faster?

c - 在 C 中用 fgets 逐行读取文件,大小读取无效

c - 对c中的指针进行两次逻辑否定有什么意义?

c - GCC 如何决定输出汇编函数的顺序?

c - 如何在 ImageMagick Core 中从图像中提取图像信息

c - 变量改变的位置?

javascript - ffi 模块 node.js 错误未捕获错误 : Dynamic Linking Error: Win32 error 193

c - C 编程中使用 strstr 函数时指针的使用

c - C 中的数组大小有限制吗?

c - 如何使用ImageMagick C API的MagickGetImageHistogram