int(*a)[5]和int a[5]有啥区别?

2024-12-27 18:13:11
推荐回答(5个)
回答1:

int (*a)[5]这里的a是行指针,指向的是一个5的数组,那么它的单一跨度为5,即a+1,那么它指向的数值要从首地址向后移动5个位置;
int a[5],这只是一个int数组,a是它的首地址,a+1,那么它就指向第二个数值。区别很明显了。

回答2:

int (*a)[5]这里的a是行指针,指向的是一个5的数组,那么它的单一跨度为5,即a+1,那么它指向的数值要从首地址向后移动5个位置;
int a[5],这只是一个int数组,a是它的首地址,a+1,那么它就指向第二个数值。

回答3:

int(*a)[5] 中,a是一个指针,指向大小为5的一个int型数组。

int a[5]中,a 是一个大小为5的int型数组

你的问题里,int a[5]就是定义一个整型数组,你是不是要改成问:
int(*a)[5] 和int *a[5]的区别啊?

回答4:

int(*a)[5] 指针数组,指向一块大小为5的int型数组。
int a[5] 就是一般的数组定义,a默认为数组的地址

回答5:

楼下正解,确认如此