在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()
來獲取數組長度,因為此時它只會返回指針變量的大小,而不是整個數組的大小。為了解決這個問題,你需要顯式地將數組長度作為函數參數傳遞。