2019年5月18日土曜日

C++ でint 配列[] で0 を初期化しないとき、するときの違い

勘違いしていたのでメモ

初期化しないとき

#include <iostream>

using namespace std;

int main(){
  int p[10]; // 配列p の宣言 要素は10

  p[0] = 0;
  p[1] = 1;

  for (int i=0; i<10 br="" i="">    cout << p[i] << endl;
  }

return 0;
}
出力
0
1
0
0
4196688
0
4196240
0
1565145232
32765
-1563105536
-1766918773

ということで、配列の初期値にはよくわからないintが入っていました。

初期化するとき

= {} を使うと0で初期化できます。

#include <iostream>

using namespace std;

int main(){
  int p[10] = {1};

  p[0] = 0;
  p[1] = 1;

  for (int i=0; i<10 br="" i="">    cout << p[i] << endl;
  }

return 0;
}
出力
0
1
0
0
0
0
0
0
0
0

0 件のコメント:

コメントを投稿