int a*[n]和int (*a)[n]的区别
2020-08-19 本文已影响0人
darkness605
int a*[n]是指针数组,是一个数组。表示的是一个有n个元素的数组,数组中的每个元素都是指向int数据类型的指针。
int (*a)[n]是数组指针,是一个指针。表示的是,a是一个指针,a指向的是一个有n个元素的数组,数组中的元素都是int数据类型的。
可以理解为二维数组,比如int arr[m][n]表示的是a中有m个元素,每个元素都是有n个元素的一维数组。
int (*a)[n] = &arr[0];//合法
看得出*a或a[0]实际上得到的还是一个地址。
也就是说 (*a)存放的是arr数组的地址。
![](https://img.haomeiwen.com/i17566415/159eefb5f2fb996f.png)
![](https://img.haomeiwen.com/i17566415/4b7e80d6191f6fdb.png)