C言語なら俺に聞け(入門篇) Part 11
■ このスレッドは過去ログ倉庫に格納されています
0271デフォルトの名無しさん
2007/04/24(火) 00:16:34ポインタ変数に代入はできるぞ。代入できない変数に意味はないだろう。
char *str;
scanf("%s" str);
はstrに代入するのではなくstrが指している先にchar(の配列)を設定しようと
している(この辺の表現は微妙だけど、、、)
しかしこの場合strはでたらめなところを指しているのででたらめなところに
文字列を設定しようとする。たまたま動くかもしれないし、動かないかもしれない。
char *strの替わりにchar str[1024];とかするととりあえずは動くだろう
(バッファオーバーフローのことは目をつぶる)
int n;
scanf("%d" &n);
この場合に&nが指しているさき(すなわちnであるのだが)に数値を設定する。
この&nと上記のstrが同じような意味合い。
■ このスレッドは過去ログ倉庫に格納されています