温馨提示×

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

小樊
82
2024-09-13 08:18:09
栏目: 智能运维

在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()来获取数组长度,因为此时它只会返回指针变量的大小,而不是整个数组的大小。为了解决这个问题,你需要显式地将数组长度作为函数参数传递。

0