多维数组中的指针算术

时间:2014-02-23 17:27:43

标签: c pointers multidimensional-array

我知道对于二维数组A[i][j]相当于*(*(A+i)+j),但(int *Arrptr)[5] mean?

是什么

1 个答案:

答案 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紧密绑定,因此在第一个语句中必须使用括号。