RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今回は文字列の扱い方についてです。
前回の記事で、文字列は、配列やポインタで表現するという説明を致しました。
今回はその続きからです。
例えば、配列を使う場合、これに関しましては、前回の記事でも触れましたが、
char型の配列要素一つにつき、半角英数一文字が格納できるようになっています。
つまり、配列を使って文字列を格納する際には、
納する文字の数だけの要素のある配列を用意すれば良いということになるかと思うのですが・・・
実際にはちょっと違います。
実は、文字列と文字いうものは、それそれ1セットで一つの情報という扱いですが、
これだと文字と文字列との区別がつきません。
ということで、文字列であることを示すために、文字列には最後の文字の次に\0という記号が含まれます。
これはNull文字と呼ばれ、NULLとも表記されます。
つまりNULL文字の分を含めて
最低でも、格納したい文字数+1個の要素数の配列が必要になるわけです。
例えば、配列sにrobocupという文字列を格納しようとするとこうなります。
char s[8]="robocup";
ここで注意しないといけないのが、この文が変数の宣言文だという点です。
実は、配列に文字列を格納する場合は%sを使ってscanfで読み取るか、初期化の際に代入するか、
または専用の関数を使用するかしかありません。
つまり普通の変数のように、後から
s=" robocup";
という感じにはできないということです。
また、文字の時は'でくくりましたが、文字列の場合は"でくくわれています。ここも注意すべき点ですね。
これはなんで変わってくるかといいますと、ポインタがまた関わってきます。
まぁこの件は配列とポインタの関係の理解が必要なので今回は割愛します。
と、いう訳で、これが配列における文字列の扱い方です。
次回はポインタにおける文字列の扱い方について紹介します。
(^・ω・)ノ RadiumProduction in RoboCup Junior
前回の記事で、文字列は、配列やポインタで表現するという説明を致しました。
今回はその続きからです。
例えば、配列を使う場合、これに関しましては、前回の記事でも触れましたが、
char型の配列要素一つにつき、半角英数一文字が格納できるようになっています。
つまり、配列を使って文字列を格納する際には、
納する文字の数だけの要素のある配列を用意すれば良いということになるかと思うのですが・・・
実際にはちょっと違います。
実は、文字列と文字いうものは、それそれ1セットで一つの情報という扱いですが、
これだと文字と文字列との区別がつきません。
ということで、文字列であることを示すために、文字列には最後の文字の次に\0という記号が含まれます。
これはNull文字と呼ばれ、NULLとも表記されます。
つまりNULL文字の分を含めて
最低でも、格納したい文字数+1個の要素数の配列が必要になるわけです。
例えば、配列sにrobocupという文字列を格納しようとするとこうなります。
char s[8]="robocup";
ここで注意しないといけないのが、この文が変数の宣言文だという点です。
実は、配列に文字列を格納する場合は%sを使ってscanfで読み取るか、初期化の際に代入するか、
または専用の関数を使用するかしかありません。
つまり普通の変数のように、後から
s=" robocup";
という感じにはできないということです。
また、文字の時は'でくくりましたが、文字列の場合は"でくくわれています。ここも注意すべき点ですね。
これはなんで変わってくるかといいますと、ポインタがまた関わってきます。
まぁこの件は配列とポインタの関係の理解が必要なので今回は割愛します。
と、いう訳で、これが配列における文字列の扱い方です。
次回はポインタにおける文字列の扱い方について紹介します。
(^・ω・)ノ RadiumProduction in RoboCup Junior
Comments
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
カレンダー
最新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
性別:
男性
アーカイブ