在C/C++中,你可以使用sizeof()
函數(shù)來獲取數(shù)組的長度
#include<stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
size_t arr_size = sizeof(arr) / sizeof(arr[0]);
printf("數(shù)組長度為: %zu\n", arr_size);
return 0;
}
這里,sizeof(arr)
返回整個數(shù)組所占用的內存字節(jié)數(shù),sizeof(arr[0])
返回數(shù)組中單個元素的大小。將兩者相除得到數(shù)組的元素個數(shù)。注意,結果需要用size_t
類型來存儲,因為它表示的是大小,不會是負數(shù)。
請注意,當數(shù)組作為函數(shù)參數(shù)傳遞時,它會被解析為指向數(shù)組第一個元素的指針。在這種情況下,你不能直接使用sizeof()
來獲取數(shù)組長度,因為此時它只會返回指針變量的大小,而不是整個數(shù)組的大小。為了解決這個問題,你需要顯式地將數(shù)組長度作為函數(shù)參數(shù)傳遞。