如何在C中确定数组的大小?

如何在C中确定数组的大小

也就是说,数组可以容纳多少个元素

执行摘要:

inta[17];
尺寸n=sizeof(a)/sizeof(a[0]);

完整答案:

要确定数组的字节大小,可以使用sizeof
接线员:

inta[17];
尺寸n=尺寸f(a);

在我的计算机上,整数是4字节长,所以n是68

要确定数组中的元素数,我们可以将
数组的总大小乘以数组元素的大小。
您可以使用以下类型执行此操作:

inta[17];
尺寸n=sizeof(a)/sizeof(int);

并得到正确的答案(68/4=17),但如果
a更改如果忘记更改,您将有一个严重的错误
sizeof(int)

因此,首选除数是sizeof(a[0])或等效的sizeof(*a),数组第一个元素的大小

inta[17];
尺寸n=sizeof(a)/sizeof(a[0]);

另一个优点是现在可以轻松地参数化
宏中的数组名称并获取:

定义NELEMS(x)(sizeof(x)/sizeof((x)[0]))
INTA[17];
尺寸n=NELEMS(a);

发表评论