Last modified: Wed Apr 9 2025
このページは,基礎工学部システム科学科機械科学コース2年生向けの
「情報科学演習」における演習1の教材の1つです.
●C言語における文字列(復習)
●ポインタを用いた文字列処理
- 前節において,文字列を入出力する関数では,
文字列を表すために配列変数名を渡すと説明したが,
正確には,必ずしも配列である必要はなく,
文字型を指すポインタで構わない.
ポインタの指す場所が先頭であると見なし,
ヌル文字が現れるまでを一連の文字列として処理する.
- 文字列を処理する場合は,文字を順に走査することが多いので,
ポインタを使うと,処理が効率よく表現できたり,簡潔に記述できることが多い.
文字列を表す文字配列の各要素を確認する.'\0'より後の要素は,
文字列として扱う場合は無視される.
文字列を扱う関数に文字配列ではなく,
文字型を指すポインタを与えた場合にどうなるか調べる
(ここではprintf()の書式指定"%s"に対する振る舞い).
ポインタの値が変化した場合に,文字列としてどのように見なされるか?
引数で与えられた文字列を先頭から順に走査し,
小文字の文字を大文字に変換する関数のテストプログラム.
- example16.c → 「配列版」
- 関数内の文字列に対する処理を配列を使って記述したもの.
文字列の中のある文字にアクセスする場合に,s[i]という表現を用いる.
- example17.c → 「ポインタ版」
- 関数内の文字列に対する処理をポインタ使って記述したもの.
ポインタ変数の値を変化させて文字列を走査している.
[演習1のインデックス]
[前の教材(関数とポインタその2)]
[次の教材(ちょっと進んだ内容)]