溫馨提示×

如何在Linux中使用sizeof獲取數(shù)組長度

小樊
82
2024-09-13 08:18:09
欄目: 智能運維

在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ù)傳遞。

0