#navi(contents-page-name): No such page: その他

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

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

c-top.html is not found or not readable.

sizeofを使う理由

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

&ref(): File not found: "arycnt.c" at page "その他/配列の要素数を算出するサンプル"; (改行コード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言語で配列の要素数を調べる方法でした。

c-btm.html is not found or not readable.

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS