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