【Cpp】配列の要素数を取得する方法

目次

構造体を使って試してみる

構造体は、関連のある変数をひとまとめに扱える仕組みであり、クラスと同じように使うことができる。

今回はサンプルとして、名前,年齢,好きな食べ物の要素を持っている構造体を使っていく

  • 今回使用する構造体
    1
    2
    3
    4
    5
    struct Data {
    char *Name; // 名前
    int Age; // 年齢
    char *FavoriteFood; // 好きな食べ物
    };

先程定義した構造体を配列として保持したときに、その配列の中の要素数を知りたいケースが多々発生する。配列の要素数を知りたい場合、配列全体のサイズ / 単一要素のサイズで求めることができる

1
2
3
4
5
6
7
8
9
10
11
12
int main(void) {
// Data配列の宣言
Data datas[] = {{"田中", 18, "ハンバーグ"}, {"佐藤", 21, "かまぼこ"}};

// 配列の要素数を取得
size_t size = sizeof datas / sizeof *datas;

// 出力
cout << size << endl;

return 0;
}

sizeof datas / sizeof *datasの部分について

この部分は、以下のように書いても同じ結果になるので、どちらを使ってもいいと思う

1
size_t size = sizeof datas / sizeof datas[0];
Author

Daiki Iijima

Posted on

2021-10-03

Updated on

2024-04-17

Licensed under