数组是一种静态的存储空间分配,就是说在程序设计时必须预先定义数组的数据类型和存储空间大小,由编译程序在编译时进行分配。
这句话为什么错,说明原因。谢谢
数组的存储空间不一定在编译时进行分配。
举个反例就行了:
int(*p)[6];
p=(int(*)[6])malloc(sizeof(int[6])*1);
*p是个int[6](而不是int*) ,sizeof(*p)是24而不是4 ,也就是说在堆上创建了一个int[6],但这个空间是在运行期分配的
举个反例就行了:
int(*p)[6];
p=(int(*)[6])malloc(sizeof(int[6])*1);
*p是个int[6](而不是int*) ,sizeof(*p)是24而不是4 ,也就是说在堆上创建了一个int[6],但这个空间是在运行期分配的
温馨提示:答案为网友推荐,仅供参考