【課題1−21 scanf関数 変数と配列】

 

<データ格納場所のアドレス>

scanf関数の引数として,変数のアドレスを指定する場合と配列のアドレスを指定する場合で,記述方法が異なる.

 

<変数にデータを入力する場合>

「&変数名」で変数のアドレスを指定する.

(例)  int dt;

       scanf("%d", &dt);

&をわすれると,あらぬところにデータが書き込まれ危険

 

<配列にデータを入力する場合>

配列名だけでアドレスをあらわしているので,&をつける必要はない.

(例)  char str[256];

       scanf("%s", str); // &strではない

 

ただし,配列の各要素にデータを入力する場合には&配列名[添字]のように書く必要がある.

(例)  char str[256];

       scanf("%c", &str[10]); // str[10]に1文字入力

 

 

戻る