前回までの復習 文字列とは ? いくつか(可変長)の文字が並んだもの 「長さ」という属性を持つ : 長さは 0 でも良い(空文字列) 「文字」を構成要素としてもつ : 同じ文字が含まれる可能性がある 文字には「順序」がある : 文字列の何番目の文字 C 言語の「文字列」 C 言語では、文字列を「『文字配列』+ EOS」で「表現」する 配列 「char a[10] = { 'A', 'B', 'C', '\0' };」で、文字列「ABC」を表現 長さ : EOS ( '\0': NUL 文字コード ) があれば文字列は終了 文字列の i 番目の構成要素となる文字(コード)は、配列の i-1 番目 a[0] == 'A' : 文字列「ABC」の最初の文字は「A」 C 言語の「文字列」の危険性 C 言語の配列は、固定長 固定長さのもので可変長のものを表す事の「危うさ」に注意 C 言語で「文字列」を扱う場合は、常に長さを意識する必要がある 配列にそのサイズを越る長さの文字列を入れようとしていないか ?? 「gets」使用禁止命(fgets を使え) / scanf には書式を指定する 「バッファーオーバーフロー」に注意