不懂为什么这样做,p和*q不都是一个数组吗?

img

你的说法是错误的,p是数组,也可以用来表示数组的地址,*q是指向数组的指针,虽然他们都能访问数组,但是本质是不一样的。sizeof计算的时候,对p来说,计算的是数组的内存大小,但是对q来说,计算的是指针的大小,指针的大小是固定不变的,一直是4个字节(32位系统下),所以sizeof(q)的值是4