温馨提示×

如何在Linux中使用sizeof获取数组长度

小樊
96
2024-09-13 08:18:09
栏目: 智能运维
Linux服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C/C++中,你可以使用sizeof()函数来获取数组的长度

#include<stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    size_t arr_size = sizeof(arr) / sizeof(arr[0]);

    printf("数组长度为: %zu\n", arr_size);
    return 0;
}

这里,sizeof(arr)返回整个数组所占用的内存字节数,sizeof(arr[0])返回数组中单个元素的大小。将两者相除得到数组的元素个数。注意,结果需要用size_t类型来存储,因为它表示的是大小,不会是负数。

请注意,当数组作为函数参数传递时,它会被解析为指向数组第一个元素的指针。在这种情况下,你不能直接使用sizeof()来获取数组长度,因为此时它只会返回指针变量的大小,而不是整个数组的大小。为了解决这个问题,你需要显式地将数组长度作为函数参数传递。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c语言sizeof数组长度怎么获取

0