Loading

计算未指定大小数组元素的数量

在数组初始化时,我们不希望将数组大小写死,后续可能会有修改,那么对于未指定大小的数组,如何计算其元素个数?

思路:已知数组名代表整个数组的物理大小,数组内单个元素代表数组的一个单元物理大小,假设数组物理空间是100,单个元素物理空间是5,那么该数组一共有20个元素。

array_element_number.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char arr[] = {"hello world"};
    int  iarr[] = {1, 2, 3};
    char *objects[] = {
        "hello",
        "world",
        "c",
        NULL};
    printf("计算字符数组的元素数量: %ld\n", sizeof(arr) / sizeof(arr[0]));
    printf("计算整型数组的元素数量: %ld\n", sizeof(iarr) / sizeof(iarr[0]));
    printf("计算指针数组的元素数量: %ld\n", sizeof(objects) / sizeof(objects[0]));

    exit(EXIT_SUCCESS);
}

📌 注意:对于字符串,'\0'结尾符也算一个元素

作者:caojun97

出处:https://www.cnblogs.com/caojun97/p/18247138

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   eiSouthBoy  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题