数组声明int *a[20]
,int a[20]
,int (*a)[20]
有什么区别?
他们的名字是什么以及它们如何应用于编程? 写* a ++在前两种情况下给出错误以及++,而第三种情况则不然?为什么呢?
答案 0 :(得分:2)
int *a[20];
a
是20个指针的数组
int a[20];
a
是包含20个int
元素的数组
int (*a)[20];
a
是指向20个int元素
编辑:
当a++
a
为数组时,这相当于a= a + 1;
,并且根据以下标准数组名称,不能是可修改的左值。
可修改的左值是一个没有数组类型的左值, 没有不完整的类型,没有const限定 类型,如果是结构或联合,则没有任何成员 (包括,递归地,包含所有成员或元素 具有const限定类型的聚合或联合。
答案 1 :(得分:0)
人民币咨询的例子。