开发者社区> 问答> 正文

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

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

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

展开
收起
保持可爱mmm 2020-01-13 17:16:12 671 0
1 条回答
写回答
取消 提交回答
  • 执行摘要:

    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]),数组零位元素的大小。

    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);

    问题来源于stack overflow

    2020-01-13 17:16:33
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载