*C言語* 〜22時限目〜 文字列と配列の関係について・・・
〜目次〜
文字列と配列の関係について
配列を応用した仕組みについて学んでいきます。
今までで何度も登場したC言語の「文字列」は、
配列と深い関わりを持っています。
文字列とは、
"Hello"
のような文字の並びのことでした。
C言語では、
このような英数字の文字列を、
「char型の配列」で扱うことができる
という仕組みになっています。
「char型」とは、
「文字」をあらわす型です。
文字列は文字の並びから成り立っているので、
この型の配列で扱うことができるのです。
char型の配列を宣言した後、
各要素に1つずつ文字を代入します。
これで、配列str[ ]で"Hello"という
文字列を扱えるようになるのです。
ただし、C言語では日本語の文字列の場合は、
扱いが異なる場合があるので、
今回は英数字だけを扱うことにします。
文字列の配列の最後には「¥0」を入力します。
この「¥0」は、
NULL文字
と呼ばれています。
C言語では文字列配列の最後をあらわすために、
必ず最後に'¥0'という値をつける
ことになっています。
この「¥0」をつけ忘れないように注意してください。
特に配列を宣言する際には、
注意が必要です。
この「¥0」の分の箱も用意しなくてはいけないからです。
5文字からなる文字列で、
要素数を5しか持たない配列では5文字の文字列を、
扱うことはできません。
最低でも、「文字列の長さ+1」個の要素が必要になります。
文字列配列を初期化する
文字列は以下のように初期化して、char型の配列に格納できます。
char str[6] = {'H', 'e', 'l', 'l', 'o', '¥0'};
char str[ ] = {'H', 'e', 'l', 'l', 'o', '¥0'};
char str[6] = "Hello"; " "を使って初期化することもできます
char str[ ] = "Hello";
" "を使って文字列配列を初期化した場合は、
自動的にNULL文字が付け加えられることになっています。
尚、" "を使う格納方法は、
初期化のときのみ利用できます。
文字列配列を出力する
配列に格納した文字列を出力してみます。
以下のコードを入力してください。
sample49.c
ーsample49の実行画面ー
Helloは文字列です。
文字列配列を出力する際には、
変換仕様として、%sを使います。
文字列を出力する
文字列をキーボードから入力して、
扱うコードについてみていきます。
以下のコードではユーザーが入力した、
文字列を出力します。
sample50.c
ーsample50の実行画面ー
文字列を入力してください。
Hello
入力した文字列はHelloです。
このコードで使う配列はstr[100]のように、
要素数を大きめに確保する必要があります。
配列には要素数を超えて値を代入できないためです。
ただし、整数や小数、文字を入力した時と異なり、
カンマのあとの配列名には&記号をつけません。
入力のコードを使う際には、
注意をしてください。
配列のまとめ
配列を利用すると、
同じ種類の多くのデータを扱うことができます。
またC言語では、
文字列を利用する時にも、
配列の機能が欠かせません。
配列はC言語の中でも欠かせない便利な仕組みなのです。
〜END〜