網頁

2022/7/20

C++ 取得陣列長度 get array length

C++取得陣列長度(元素個數)的方式如下。


下面有一int整數陣列ages宣告時大小/長度為5,使用sizeof(ages)/sizeof(ages[0])可取得陣列的長度(元素個數)為5。sizeof(ages)為整個陣列的大小20 bytes,除以單一個元素的大小sizeof(ages[0])4 bytes即為陣列長度。

或是用C++17 iterator函式庫的std::size()也可取得陣列長度。

main.cpp

#include <iostream>
#include <iterator>
using namespace std;

int main() {
    int ages[5] = {1, 2, 3, 4, 5};
    cout << sizeof(int) << endl;     // 4 (bytes)
    cout << sizeof(ages) << endl;    // 20 (bytes)
    cout << sizeof(ages[0]) << endl; // 4 (bytes)

    cout << sizeof(ages) / sizeof(ages[0]) << endl; // 5

    cout << size(ages) << endl; // 5

    return 0;
}

編譯後執行時在console顯示如下。

4
20
4
5
5

若本篇有幫助到您還幫忙點個Google廣告,感恩。



沒有留言:

張貼留言