FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

文字列!!

今日は文字列を勉強していきます
まずは基礎からですよ~

まず文字列ってなに?
複数の文字の集まりを文字列っていいますよ~
ふむふむ。ソノママデスネ?

一文字の場合は「文字」と呼んで「文字列」とは別の物だって勉強しましたよね!

そして文字型変数の配列ですよ。つまり配列変数と扱いは同じである
文字列の変数は「char」で宣言される(前でてきましたよね?

今まででは数値によるプログラムの例を多く取り上げてきましたが実際には数値の計算と同じくらい重要となっているのが「文字列」だそうです

C言語というのはほかの言語の中でも文字列の扱いが特殊といわれているそうです。
難しいのかしら・・・・・・・?('A`)

でも「文字列が得意」というのもC言語の特徴らしいです。

C言語には「文字列型」というものが用意されていないそうです。
ではどうやって文字列をあつかっているのでしょうか?
それは「文字」の列。つまり「文字型の変数」の「配列」となっているそうです。
いわれてみると納得ができるような。。

なるほどね~
では例題をふまえてもう少し踏み込んで勉強していきましょう!

char i[6];

i[0] = 'H';
i[1] = 'e';
i[2] = 'l';
i[3] = 'l';
i[4] = 'o';
i[5] = '\0';

このようにして i を表示させたらこうなるそうです
Hello
まずは上から。
charの配列を宣言しているわけですね。
その個数は[6]←ここで6個ときめています
このサイズは格納する文字列の長さによって変化するのでそのつど考える必要があります。
今回では文字の数の5個と\0の1個をあわせた6個としています。
ですが余裕を持たせて多めに決めておくことが多いそうです。

では次。
i[0] = 'H';
i[1] = 'e';
i[2] = 'l';
i[3] = 'l';
i[4] = 'o';

ここで"Hello"という文字列を設定しているわけです
文字列とは文字の配列でしたね!
よって文字型の値をひとつずつ入れることで文字列を作っています。
文字をあつかっているので ' ' でくくっています。
文字列をくくるときの" " と間違えないように注意が必要デスネ!


そして
i[5] = '\0';
ここで代入している \0 とは何なのでしょうか
これは「ヌル文字」というそうです。
ヌル文字・・・?
それはここで文字列がおわりますよ!!!という記号のようなもの。 だそうです
文字列の最後には「ヌル文字」を入れる。これがC言語のルールだそうです。

C言語では何も代入していない変数には何が入っているかわからないそうです
なのでもしかしたらi[6]には'y'という文字がはいっちゃってたりするかもしれないのです。
そうなると表示する文字列は「Helloy」となってしまいます。
もちろんひとつだけとはかぎりませんよね?
その後ろにもいろいろな値が入っているでしょうから \0 を代入しないとわけのわからない文字列が表示されたりしてしまうことになるのです。
それでは困り果ててしまいますので「ここで文字列の表示をとめる」ということをプログラムに対してしっかり教える必要があるというわけですね。

文字列の最後には「ヌル文字」を入れる。
これはC言語で文字列を扱う上で基本中の基本。絶対忘れてはいけない重要なポイントだそうです。

わかっているとは思いますが。
\0 の \は ¥と表記しています


よーし。明日からも
がんばるぞー('A`)おー。

コメントの投稿

非公開コメント

プロフィール

しー

Author:しー
*使用ソフト*
メタセコ
Blender
modo

カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
WEB拍手
カテゴリ
最新コメント
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

いらっしゃいませ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。