配列の要素数をsizeofを使って算出するサンプルソースを以下に記します。
c-top.html is not found or not readable.要素数をプログラム上に数値で記述するのも可能だが、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.