メモの日々


2008年04月25日(金) [長年日記]

  • OTの壮行会に参加。アップルパイとか色々貰えてよかったね。

[c] 構造体と配列を0で初期化

Cで構造体や配列を初期化するとき、

struct S s = {0};
int a[10] = {0};

のように書くと各要素の値が0に設定されるが、これがK&Rのどこになんと書いてあるのかをメモ。

プログラミング言語C ANSI規格準拠(Kernighan,BrianW./著 Ritchie,DennisM./著 石田晴久/翻訳 ほか)

付録Aの「A8.7 初期化」の節に、

構造体のメンバーよりも少ない初期値式しかリストになければ、残りのメンバーは0に初期化される。メンバーより多くの初期値式があってはならない。

配列が固定したサイズをもつ場合には、初期値式の数はその配列のメンバーの数を越えてはならない。それが少ないときには、残りのメンバーは0で初期化される。

とあった。

やること

  • ゴミ袋