>>669
それはだ
"2ch"っていうのが、文字列リテラルというもので
char *i = "2ch";
というのはchar型のポインタiに"2ch"という文字列リテラルの先頭アドレス
をわたしてるということになるのです。
じゃぁ、"2ch"ってアドレスのどこにあるの?って言われると
アドレスのどっかとしか言えない。
しかし、printf("%p",i);ってすれば、言わずもがな"2ch"の先頭アドレスが表示され
例えば、printf(i);ってしたら2chって表示される。
もっと言えば、char array[] = "fuckin world!!";って宣言して
printf(array);ってすれば、fuckin world!!って表示される。
それと、宣言時
char *i = "2ch";っていうのは*iに"2ch"を代入してるように見えるけど
char* i="2ch"ってすればわかりやすいと思うが、char型のポインタとしてiを
宣言し、そのiに"2ch"というアドレスを渡してると思えば良いと思うよ
実際char* i = "2ch";ってしても問題無いし、実際の所こっちの方がわかりが良い
ただ、char* i,d,c;ってすると最初のiだけがchar型のポインタとして宣言したことになり
以降のd,cは普通のchar型の変数としてみなされる。
だから、char *i;っていう風に書くのであーる