TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*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

f:id:YuyaTerayama:20180908011928p:plainーsample49の実行画面ー

Helloは文字列です。

文字列配列を出力する際には、

変換仕様として、%sを使います。

 

文字列を出力する

文字列をキーボードから入力して、

扱うコードについてみていきます。

以下のコードではユーザーが入力した、

文字列を出力します。

sample50.c

f:id:YuyaTerayama:20180908012317p:plainーsample50の実行画面ー

文字列を入力してください。

Hello

入力した文字列はHelloです。

このコードで使う配列はstr[100]のように、

素数を大きめに確保する必要があります。

配列には要素数を超えて値を代入できないためです。

ただし、整数や小数、文字を入力した時と異なり、

カンマのあとの配列名には&記号をつけません

入力のコードを使う際には、

注意をしてください。

 

配列のまとめ

配列を利用すると、

同じ種類の多くのデータを扱うことができます。

またC言語では、

文字列を利用する時にも、

配列の機能が欠かせません。

配列はC言語の中でも欠かせない便利な仕組みなのです。

 

〜END〜