我知道对于二维数组A[i][j]
相当于*(*(A+i)+j)
,但(int *Arrptr)[5] mean?
答案 0 :(得分:2)
(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
紧密绑定,因此在第一个语句中必须使用括号。