配列と変数について
練習のため家庭の収入、支出のバランスを計算するプログラミングを作っています。その為変数宣言についてなのですが以下のようにすると配列をcoutした時にint の変数に代入した値と一致しません。意味不明な数字が表示されます。この時何が起きているのでしょうか(この数字はどこから?各配列には何が入っているのでしょうか?)。
#include <iostream.h>
int main (){
int income, loan, expenditure, saving;
int cluster []={income, loan, expenditure, saving};
income=100, loan=200, expenditure =300, saving = 500;
cout << cluster [0]<<endl<<cluster [2]<<endl<<income<<endl<<expenditure;
return 0;
}
しかしながら以下のように変数の初期化を配列への代入の前に行うと各配列と変数の値が一致します。何故ですか?
#include <iostream.h>
int main (){
int income, loan, expenditure, saving;
income=100, loan=200, expenditure =300, saving = 500;
int cluster []={income, loan, expenditure, saving};
cout << cluster [0]<<endl<<cluster [2]<<endl<<income<<endl<<expenditure;
return 0;
}
2.今回配列を使ったのはこれらの変数をまとまりとして取り扱ったほうが便利だと思ったからです。この様な場合クラスを作ったほうが良いのでしょうか?メモリ的に配列の方がまとまりが良いように感じましたが、そんな考慮は必要ないのでしょうか?
3.変数名を表示することは出来ますか?上記のincome、savingなどです。
お礼
なるほど。 「int型の配列変数を宣言する」と覚えるのではなく、 「int[]型を宣言する」と覚えればいいのですね。 ありがとうございました。