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

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!