关于sizeof(a)和sizeof(*a)

举例说明,

#define countof(a) (sizeof(a) / sizeof(*(a)))//计算数组内成员个数

再具体一点:

a 是一个int数组,有10个元素,
sizeof(a)  就是 a数组整个的存储字节数,10*4=40,这不难理解。

*a相当于a[0],  数组第一个元素,
sizeof(*a)  就相当于sizeof(a[0]) =4。


sizeof(a) / sizeof(*(a)) =10,就相当于计算数组内成员个数。


猜你喜欢

转载自blog.csdn.net/greatxiaoting/article/details/52675398