gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:00 25 4
gpt4 key购买 nike

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

也就是数组能容纳多少个元素?

最佳答案

执行摘要:

int a[17];
size_t n = sizeof(a)/sizeof(a[0]);

完整答案:

要确定数组的字节大小,可以使用 sizeof运算符(operator):

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 changed 如果你忘了改变你会遇到一个讨厌的错误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);

关于arrays - 如何确定 C 中数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57421229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com