指向指针数组/数组的指针消歧下列声明之间有什么区别:int* arr1[8];int (*arr2)[8];int *(arr3[8]);理解更复杂的声明的一般规则是什么?
4 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
$ cdecl Type `help' or `?' for help cdecl> explain int* arr1[8]; declare arr1 as array 8 of pointer to int cdecl> explain int (*arr2)[8] declare arr2 as pointer to array 8 of int cdecl> explain int *(arr3[8]) declare arr3 as array 8 of pointer to int cdecl>
cdecl> declare x as pointer to function(void) returning pointer to float float *(*x)(void )
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
int* arr1[8];
arr 1是一个由8个指向整数的指针组成的数组。
int (*arr2)[8];
arr 2是指向一个由8个整数组成的数组的指针(括号阻塞右侧)。
int *(arr3[8]);
arr 3是一个由8个指向整数的指针组成的数组。
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
int *a[4]; // Array of 4 pointers to int
int (*a)[4]; //a is a pointer to an integer array of size 4
int (*a[8])[5]; //a is an array of pointers to integer array of size 5
- 4 回答
- 0 关注
- 524 浏览
添加回答
举报
0/150
提交
取消