指向指針數組/數組的指針消歧下列聲明之間有什么區別: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 關注
- 605 瀏覽
添加回答
舉報
0/150
提交
取消
