4.3   文字列って何


   文字列は、char型の配列として扱います。ただし、文字列は他の型の配列とは異なり、配列の最後には、「ここで文字列が終わります」という意味のヌル文字「\0」で終わらなければいけません。(文字列定数の最後にはコンパイラが自動的にヌル文字を付けてくれます。)

また、文字列を表すには、次のように文字列(ヌル文字は除く)をダブルクォーテーションマーク「 ” 」で囲みます

        ”hello”

ここで、

         char s [4]= ”Yes” ;
        ( または、  char s [ ]=”Yes”;  )

とすると、メモリ上には次のように文字列が格納されます。もちろん、他の型の配列同様にメモリ上に連続したアドレスに格納されます。

s[0] = ’Y’  s[1] = ’e’ s[2] = ’s’   s[3] = ’\0

ここで、注意したいのは、文字列には、ヌル文字がコンパイラによって付加されるので、n文字分を格納するスペースを確保するためには、(n+1)個の配列要素を持つ配列を用意しなければいけません。もしくは、

  char str [ ]= ”abcdefghijklmn” ;

のようにして、[ ]内を省略して初期化すれば、コンパイラが配列の要素数を自動に割り振ってくれるので安心です。

 


「もくじへ」