将sizeof 运算符运用于数组,就可以得到数组整体的大小。
用数组整体的大小除以一个元素的大小,得到的就是数组元素的个数。
求数组元素个数的表达式为:
sizeof(num) / sizeof( num[0] )
#include <stdio.h>
#define INT_NUM 10
#define DOUBLE_NUM 20
int main(void){
int int_num[INT_NUM];
double double_num[DOUBLE_NUM];
printf("数组int_num的元素个数 = %u\n", (unsigned)(sizeof(int_num) / sizeof(int_num[0])));
printf("数组double_num的元素个数 = %u\n", (unsigned)(sizeof(double_num) / sizeof(double_num[0])));
return 0;
}
运行结果:
注:尽量避免使用这样的表达式来获取元素的个数。
sizeof(num) / sizeof( num[0] )
这是因为,如果要将数组的元素类型变为 int 型或 double 型之外的的其他类型,就要对该表达式进行修改。