举例说明,
#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,就相当于计算数组内成员个数。
本文介绍了一种通过宏定义计算数组元素数量的方法。利用 sizeof 运算符获取数组整体大小和单个元素大小,通过两者相除得到数组元素个数。
举例说明,
#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,就相当于计算数组内成员个数。
2312