追記2:この記事は間違っている。サイズが0の配列はISO Cでは禁止されているので心配する必要はない。 追記:管理人の独り言(プログラミング関連) - 黒歴史集積所によると、この情報は怪しい。 C言語で配列の要素数を求める方法と、微妙な落とし穴について。 int foo[] = {4, 3, 2, 1}; unsigned int foo_len = (sizeof foo) / (sizeof foo[0]); sizeof演算子を使って、配列のバイト数を要素のbyte数で割る方法。 C言語の配列は全て同じ型の物しか入れられないので、最初の項のbyte数をsizeofで求めれば良い。 #define LEN(array) (sizeof(array) / sizeof(array[0])) とすることもある。 この方法は、 int foo[0]; LEN(foo); とした時に未定義にな