PDFファイルの印刷 |
【学内】PDFファイルリーダーで印刷可能です。PDFファイルでの配布のpdfのリンクをクリックしてください。現われる講義録をで印刷してください。 |
|
PDFファイル閲覧・印刷にはPDFファイルリーダーが必要です。 |
|
無償で使用できる高性能なPDF作成ソフト |
|
|
|
第6回:ポインタと文字列の基礎
(PDFファイルでの配布:c6.pdf)(Web版は更新されていません、pdfをご覧下さい) |
|
目次
1.文字列=番地数値
2.文字列の格納
3.文字列自身と番地
プログラム例(repo12.c)
4.文字配列の大きさと文字列の長さ
プログラム例(repo13.c)
5.'A'と"A"
6.文字列操作
【例題】文字列複写する
プログラム例(repo14.c)
7.標準文字列操作関数
プログラム例(repo15.c)
第六回目レポート
- 連続した文字の並び
- NULL文字(¥0)で修了
- ””は番地数値
コンピュータは「Tokai」を適当な番地、仮に100番地とすると、に格納し、その後は「"Tokai"」で番地数値となる。
文字を格納後、最後に
を格納する。いつも文字数より1つ多くなりますので注意しましょう。
文字列:Tokaiを文字型(char)配列に格納するには...
の6文字分用意します。文字型配列名を「s」とします(s
for string:文字列の意味)。
文字列の先頭番地は、「Tokai+\0」を格納している「s番地」となる。仮に、それを400番地とすると...
普通の数値(文字コード:'A'=65=0x41)か番地数値か2つの使い方:
プログラムで調べると...
用意する格納箱の数は、
文字数+¥0
の個数必要であるが、多すぎても問題はない。
さて、格納されている文字数を求めてみよう。
なので、
すれば、文字数がわかる。そこで
と順序よく考えればよい。これらを集めてプログラムすれば
元の番地はいつも必要。メモリ内で固定番地になっている。固定番地間を動き回る”人”がいる:番地変数(ポインタ)。教科書115ページを参照するとよい。
【例題】文字列を格納する文字(char)型の配列Aを"Tokai"で初期化し、同じ大きさの配列Bに複写する
これらを参考にしてプログラムする事がレポートの3)です。最後に「¥0」も複写しないといけません。つぎに、固定番地間を動き回れる番地変数(ポインタ)を用いたらどうなるか見る。
そこで、順に番地を増やしていき、中身が¥0になったら中止する。
このような番地の増加法を用いた複写法は次のように書ける。
文字列のコピーはよく使うので標準的な命令として用意されている。
string.h
を「#include」すること。そのほか、文字列の長さや、文字列の結合などいくつか用意されている。
文字列操作では文字列を複写や結合するとき、十分に記憶領域を確保しておくこと。さもないと、コンピュータの予期しない場所にはみ出して書き換えてしまうので、コンピュータが停止したりしてしまう。
strcat関数での例(教科書123ページ10・4・1「strcat関数」参照)
学生証番号と氏名を明記すること
必ず表紙を付け、このレポート問題を印刷し表紙の次にいれること
(A4レポート用紙)
- 1)repo12.cで
- プログラム
- 実行したときの画面コピー
- for文を用い、格納番地も一緒に、出力例の様に表示させる
- プログラム
- 実行したときの画面コピー
- 最初の番地(この例ではFFF0)ともう1つの番地(この例では00AA)はどんな意味を持っているか?
出力例
以上の3点(計5問)を提出すること。
ア)とイ)のプログラム
以上の5点を提出すること。
|