*(ptr--)为什么能表示数组元素
1个回答
关注
展开全部
亲亲 您好 首先学习指针是有好多概念容易混淆。我来帮你区别一下:1、int(*p)[3];------ptr为指向含3个元素的一维整形数组的指针变量(是指针)2、int *p[3];-------定义指针数组p,该数组由3个指向整型知数据的指针元素组成(是数组)3、int(*)[3];--------实际上可以看作是一种数据类型。也就是第一个(int(*p)[3])中定义的p的数据类型其实你要看他到底是什么,就是要看他最先和衜谁结合。 比如1中p先与*结合,那就说明p本质是一个指针;而2中p先与后面的[3]结合,说明他本质是一个数组。再慢慢理解。希望能帮到你。如有疑问可以再问我
咨询记录 · 回答于2022-11-27
*(ptr--)为什么能表示数组元素
亲亲 您好 首先学习指针是有好多概念容易混淆。我来帮你区别一下:1、int(*p)[3];------ptr为指向含3个元素的一维整形数组的指针变量(是指针)2、int *p[3];-------定义指针数组p,该数组由3个指向整型知数据的指针元素组成(是数组)3、int(*)[3];--------实际上可以看作是一种数据类型。也就是第一个(int(*p)[3])中定义的p的数据类型其实你要看他到底是什么,就是要看他最先和衜谁结合。 比如1中p先与*结合,那就说明p本质是一个指针;而2中p先与后面的[3]结合,说明他本质是一个数组。再慢慢理解。希望能帮到你。如有疑问可以再问我
1. sizeof(数组名),数组名表示整个数组,计算整个数组的大小。2. &数组名,数组名表示整个数组,取出的是整个数组的地址。3. 除此之外所有的数组名都表示首元素的地址。
我想问的是B选项为什么不能表达数组元素
1.sizeof(数组名)表示整个数组的大小,答案为4*sizeof(int)=162.a没有单独放在括号中,则a表示首元素地址,地址大小为4/8(32位平台下地址4字节,64位平台下地址8字节)3.a表示首元素地址,*a表示首元素,首元素为int类型,大小为44.同问题二,大小为4/8,a+1表示下标为2的地址5.a[1]表示下标为1的元素,大小为46.&a表示整个数组的地址,地址大小为4/87.&a表示整个数组的地址,类型为int (* )[4],如果解引用,则访问4个int的数组,大小为168.&a+1表示地址,大小为4/89.&a[0]表示首元素地址,大小为4/810.&a[0]+1表示第二个元素的地址,大小为4/8