2007年12月8日のブックマーク (1件)

  • 11-C言語で文字列を扱う

    再確認、"ABC" さて、「"ABC"」というのが文中に出てくると、一体どういう意味をなすのか。これは重要です。前にも言いましたが、C言語には文字列という型はありません。それじゃぁ一体、文法上どういう意味になるのでしょうか。 じつはプログラム中に「"ABC"」が出てくると、これ全体がアドレスの値になります。何のアドレスの値かというと、'A', 'B', 'C', '\0' と連続してメモリ上に置かれた時の'A'へのポインタです。メモリ上のどこに置かれるかは分かりません、これはコンパイラやOSがうまく配置してくれます。 'A'はchar型、"ABC"は'A'のアドレス これを頭の中で何度も唱えてください。すると、こんなことができると分かるはずです。 char *s; s = "ABC"; この例は、char型へのポインタ変数sを作って、そいつにどこかに用意された"ABC"の先頭アドレスを代入

    karasumanto
    karasumanto 2007/12/08
    必要に応じて