int *a = new int[15];

sizeof(a)//在64位机器上,8

sizeof(a)/sizeof(int) //2

-----

int a[15];

sizeof(a)//15*4=60

sizeof(a)/sizeof(int)=15

-----所以数组名并与完全等同于指针;

注意 数组名字 在参数传递的过程中,会退化为指针,这也是为什么指针作为参数传递,需要一个长度参数。

sizeof(数组名字)//是返回数组占用的内存大小

sizeof(指向数组的指针)//返回的是指针本身的大小

05-26 10:39