<分区>
我知道对于二维数组 A[i][j]
等同于 *(*(A+i)+j)
,但是什么是(int *Arrptr)[5] 是什么意思?
<分区>
我知道对于二维数组 A[i][j]
等同于 *(*(A+i)+j)
,但是什么是(int *Arrptr)[5] 是什么意思?
最佳答案
(int *Arrptr)[5]
语法错误。
int (*Arrptr)[5]; // Arrptr is a pointer to an array of 5 int
int *Arrptr[5]; // Arrptr is an array of 5 pointeres to int
数组下标运算符[]
与标识符Arrptr
紧密绑定(bind),因此在第一个语句中需要括号。
关于c - 多维数组中的指针运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21971694/