配列の先頭要素はアドレスですよね、そこはなんとなくわかってます。
ところで以下の文
#include <stdio.h>
int main(){
int i;
char str[5];
for(i=0;i<5;i++){
scanf("%s", str);
}
printf("%s", str);
return 0;
}
はエラーを吐かれます。scanf関数はアドレスを渡しているのでstrでいいのかと思ったのですがそれは早計だったようで、&strをつけたら無事コンパイルが通り実行できました。なぜstrではエラーなのでしょうか?また、&strとすることでscanf関数に何を渡しているのでしょうか?
初歩的な質問ですが、ご教授ください。