C 语言中如何确定数组的元素个数?
int a[17];
size_t n = sizeof(a) / sizeof(int);
但上面的写法还有点不足。如果以后数组 a 的类型变为其它类型,那么 sizeof(int)
这种写法就会出现兼容问题,所以建议下面的写法,
size_t n = sizeof(a) / sizeof(a[0]);
如果你的程序需要大量使用这种语句,不妨定义一个宏,
#define NELEMS(x) (sizeof(x) / sizeof((x)[0]))
int a[17];
size_t n = NELEMS(a);