- 364 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 07:37:42 ]
- char *p;
char *q; p = "hoge" + 1; q = "hoge"[1]; この場合pはoになることは正しいですよね。 pにはhのアドレスが代入される訳ですから。 んでqの場合は配列じゃないので、 char x[] = "hoge"; int r = x[1]; なら正しくrにはoが代入されますけれど、 q = "hoge"[1];とかいても警告は出ますし、 無意味な値が代入されるけれどもコンパイルはされてしまいます。 どうしてコンパイルエラーにならないんでしょうか?
|

|