C言語なら俺に聞け(入門篇) Part 4
■ このスレッドは過去ログ倉庫に格納されています
0590ぴゅあ
2006/11/22(水) 11:36:09敢えて補足するまでもないと思いますけど
char *string = "ABCDE/FGHIJ";
のように書いている場合には"ABCDE/FGHIJ"の中を書き換えるような操作をしてはならない
ポインタ変数stringに代入されているものが他でchar[11+1]とかで取っている領域のポインタであるとか
mallocで確保された領域とかであれば
その領域内を書き換えることは可
char string[] = "ABCDE/FGHIJ";
は領域を確保してその中に"ABCDE/FGHIJ"を入れているので書き換え可
("ABCDE/FGHIJ"自身を書き換えているのではなくstring[11+1]の領域の中を触るから)
ということです
■ このスレッドは過去ログ倉庫に格納されています