ついつい口を挟みたくなるコード

一昨日見かけたこのコード,むかーしむかーし誰かが作った物。

void function(void)
{
  int array[6] = {...}
  for( int i = 0; i < 6; i++ ){
    ..
  }
}

関数のローカル変数として配列が定義されている。
しかし,のちのちこの要素は増えそうな感じの仕様。

やっつけでもいいからとりあえずこれぐらいはやっておこうぜって伝えたい事は

void function(void)
{
  int array[] = {...} // 初期化してるならこれで!
  int num = sizeof(array)/sizeof(int);// これで配列の要素数がわかる
  for( int i = 0; i < num ; i++ ){
    ..
  }
}

こんな感じ。

基本的な事だけど配列の要素数は定義時に初期化されているならなくてもいい。
そしてsizeofを使えば簡単に配列の要素数は得られる。