02/04/02 23:20
>>288
何か変。
>p="ABCD"; と文字列を代入してるかのように表現出来ます。
> というかします
これは初期化のときだけ。
初期化のときに「char* p = "abcd"」とすると、文字列の長さの分(此処では5)だけの領域を「確保」し、この場合なら"abcd\0"で初期化をします。
代入のときには出来ません。
代入をしたいときは、標準ライブラリその他の関数を使うとか、一文字ずつ操作するとか(配列と同じです)。
(C++ならstd::strungという文字列クラスが標準で存在します)
> 文字の最後は必ず #0 です。 これは Cでは'\x00' と書きます
'\0'とかくのが普通。
'\x00'はコードが0になる文字で、'\0'は文字列の終わりにくる特殊な文字。
「結果的には」同じだけど(ASCIIの場合?)。