c++ - char * (*arr)[2 ] 和 char **array[2] 有何不同?

标签 c++ c arrays string pointers

char * (*arr)[2]char **array[2] 有何不同??如果我使用函数传递 char* strings[2] 那么如何从问题第一部分提到的两种方式访问​​元素? 还请告诉其他访问指针数组元素的方法。 谢谢。

最佳答案

CDecl报告:

char *(*arr)[2]

declare arr as pointer to array 2 of pointer to char

char **arr[2]

declare arr as array 2 of pointer to pointer to char

只是 [] 数组声明符的优先级高于 * 指针限定符,所以括号改变了含义。

关于c++ - char * (*arr)[2 ] 和 char **array[2] 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18575577/

相关文章:

c - 在 C 编程中,如果表达式中的任何变量是 nan,计算会变慢吗

c - 从文件中读取c

javascript - 将矩阵插入数组

javascript - 如何使用Nodejs找到每个数组对象的位置

c++ - 尝试访问未初始化的 boost::match_results<> 类

c++ - 将 --whole-archive 链接器选项与 CMake 和具有其他库依赖项的库一起使用

c++ - 用于编译不同的 "modules"的 Makefile 可以相互包含

c - 如何删除数组中特定位置的字符?

c - C 中的 NULL 值和 "0"字符串?

c++ - 在 C++ 中扩展多模式可变参数模板