注册
登录
C/C++
如何确定C中数组的大小?
返回
如何确定C中数组的大小?
作者:
狗头军师
发布时间:
2024-10-05 11:58:48 (2天前)
如何确定C中数组的大小?
也就是说,数组可以容纳多少个元素?
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-07-24 17-39
执行摘要: int a[17]; size_t n = sizeof(a)/sizeof(a[0]); 完整答案: 要确定数组的大小(以字节为单位),可以使用sizeof 运算符: int a[17]; size_t n = sizeof(a); 在我的计算机上,整数是4个字节长,所以n是68。 为了确定数组中元素的数量,我们可以将数组的总大小除以数组元素的大小。您可以使用以下类型来执行此操作: int a[17]; size_t n = sizeof(a) / sizeof(int); 并获得正确的答案(68/4 = 17),但是如果a更改的类型 也忘记了更改,那将是一个讨厌的错误sizeof(int)。 因此,首选除数为sizeof(a[0])或等效sizeof(*a)数组的第一个元素的大小。 int a[17]; size_t n = sizeof(a) / sizeof(a[0]); 另一个优点是,您现在可以轻松地在宏中参数化数组名称并获得: #define NELEMS(x) (sizeof(x) / sizeof((x)[0])) int a[17]; size_t n = NELEMS(a);
编辑
登录
后才能参与评论