このエントリーをはてなブックマークに追加


C言語で配列の要素数を算出するサンプルソース

配列の要素数をsizeofを使って算出するサンプルソースを以下に記します。


スポンサーリンク

sizeofを使う理由

要素数をプログラム上に数値で記述するのも可能だが、Cソース修正時に配列要素の追加や削除を行った場合、
要素数を指定している部分の修正も必要となります。
もちろん、defineにて要素数を指定する方法もありますが、要素部分の修正とdefineの値の修正の2箇所の修正が必要となります。
そこで、sizeofを使って配列の要素数を算出するようにすれば、修正箇所は配列の要素変更のみで終わるようになります。
以下にCサンプルソースを記します。

filearycnt.c (改行コードLF)

#include <stdio.h>

int main(void)
{
    int int_ary[] = {1, 2, 3, 4, 5};
    char *pchar_ary[] = {"linux", "windows", "bsd"};

    printf("int_ary count : %d\n", sizeof(int_ary) / sizeof(int_ary[0]));
    printf("pchar_ary count : %d\n", sizeof(pchar_ary) / sizeof(pchar_ary[0]));

    return 0;
}

ソースコードのsizeofを見るとわかるように、全体のサイズを1要素のサイズで割ることにより配列の要素数を算出しています。
以下にコンパイルし実行した結果を記します。

$ gcc arycnt.c -o arycnt
$ ./arycnt 
int_ary count : 5
pchar_ary count : 3

以上、C言語で配列の要素数を調べる方法でした。


スポンサーリンク

添付ファイル: filearycnt.c 506件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 21:01:00