RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今回は文字列についての記事です。
まずは文字について、
例えば、文字といえば、a、b、cこんな感じですよね。
C言語における文字というのは半角英数一文字を指します。
この文字というもの、0と1しか理解出来ないコンピューターに理解させる為にはどうしましょうか。
0と1となると2進数、2進数は数字ですよね。
つまり文字を数字に置き換えてやればいいですよね。
という訳でCに限らず、プログラミングにおいては、文字は数字で表現します。
だから例えばaをコンピューターで表す時には0を使って、bを表す時は1を使って・・・と決めることで、コンピューター上で文字を扱えるようにしている訳ですね。
具体的には文字ひとつで1バイト、つまり0から255までの数字で表現されています。
この文字と数字の対応を決定しているのが、所謂文字コードというものです。
文字化けとかの原因はこの文字コードの設定の不一致によるものですよね。
まぁ文字コードにも色々ありますが、C言語だと、半角英数にはASCIIを、全角にはシフトJISが使われます。
だから、コンピューター上で文字を表す時はこの文字コードに従って数字を入力すればいいわけです。
まぁでも流石にそれはいちいちコードを調べなくてはいけないので面倒ですよね。
という訳で、C言語では、文字は'a'という風に、'で囲ってやることで、表現できるようになっています。
文字を変数に入れる場合はchar型の変数を使用します。
例えばこんなふうに
char c = 'a';
これでaが変数cに代入されました。
この状態で出力を行うと・・・
printf("%c",c);
aという文字が出力されます。char型変数を使う際には%cを使うところはもう大丈夫ですよね。
これが文字です。
では文字列とは何でしょうか。
文字の列、文字の集まり、
つまり、abc等の二文字以上の文字の並びのことですね。
この場合の扱いはどうなるでしょうか。
実はC言語には、文字を扱う変数はありますが、文字列を扱う変数はないんです。
つまり、他の変数のような使い方はできないんです。
ならどのようにするか、という話ですが、変数を使って順列のデータを操作する方法が2種類程ありましたよね。
例えば、配列、例えば、ポインタ
こういったものがそれに該当します。
と、いうことは・・・コンピューター上では文字列はchar型の配列やポインタで表現できるということです。
つまり、配列で考えると、1要素ごとに文字列の一文字分が格納されることになるわけですね。
只、ここで気をつけないといけない点は、配列を使う際とポインタを使う際では微妙に扱いが異なってきてしまうのです。
次回は、この配列の時とポインタの時の違いをプログラムを書きながら紹介していこうと思います。
それでは今回はこの辺で。
(^・ω・)ノ RadiumProduction in RoboCup Junior
まずは文字について、
例えば、文字といえば、a、b、cこんな感じですよね。
C言語における文字というのは半角英数一文字を指します。
この文字というもの、0と1しか理解出来ないコンピューターに理解させる為にはどうしましょうか。
0と1となると2進数、2進数は数字ですよね。
つまり文字を数字に置き換えてやればいいですよね。
という訳でCに限らず、プログラミングにおいては、文字は数字で表現します。
だから例えばaをコンピューターで表す時には0を使って、bを表す時は1を使って・・・と決めることで、コンピューター上で文字を扱えるようにしている訳ですね。
具体的には文字ひとつで1バイト、つまり0から255までの数字で表現されています。
この文字と数字の対応を決定しているのが、所謂文字コードというものです。
文字化けとかの原因はこの文字コードの設定の不一致によるものですよね。
まぁ文字コードにも色々ありますが、C言語だと、半角英数にはASCIIを、全角にはシフトJISが使われます。
だから、コンピューター上で文字を表す時はこの文字コードに従って数字を入力すればいいわけです。
まぁでも流石にそれはいちいちコードを調べなくてはいけないので面倒ですよね。
という訳で、C言語では、文字は'a'という風に、'で囲ってやることで、表現できるようになっています。
文字を変数に入れる場合はchar型の変数を使用します。
例えばこんなふうに
char c = 'a';
これでaが変数cに代入されました。
この状態で出力を行うと・・・
printf("%c",c);
aという文字が出力されます。char型変数を使う際には%cを使うところはもう大丈夫ですよね。
これが文字です。
では文字列とは何でしょうか。
文字の列、文字の集まり、
つまり、abc等の二文字以上の文字の並びのことですね。
この場合の扱いはどうなるでしょうか。
実はC言語には、文字を扱う変数はありますが、文字列を扱う変数はないんです。
つまり、他の変数のような使い方はできないんです。
ならどのようにするか、という話ですが、変数を使って順列のデータを操作する方法が2種類程ありましたよね。
例えば、配列、例えば、ポインタ
こういったものがそれに該当します。
と、いうことは・・・コンピューター上では文字列はchar型の配列やポインタで表現できるということです。
つまり、配列で考えると、1要素ごとに文字列の一文字分が格納されることになるわけですね。
只、ここで気をつけないといけない点は、配列を使う際とポインタを使う際では微妙に扱いが異なってきてしまうのです。
次回は、この配列の時とポインタの時の違いをプログラムを書きながら紹介していこうと思います。
それでは今回はこの辺で。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(01/03)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
プロフィール
HN:
Luz
性別:
男性
アーカイブ