損害を補償しないことについて
このサイトを閲覧して生ずるいかなる損害も補償いたしません。
C言語基本003
このコーナーでは、【C言語基本003】をのせています。
以下の項目があります。
int型の1次元配列を扱う
int型を指すポインタを扱う
int型の1次元配列にポインタを用いる
文字列にポインタを用いる
printfで%sにより文字列を表示する
int型の1次元配列を扱う
int型の1次元配列を扱うプログラムの例を示します。コマンドプロンプト用のプログラムです。
typeコマンドでファイル内容を表示しました。gccでコンパイルしました。a.exeができたので実行しました。上記例では、配列の要素の数は4つです。配列の変数名はiaです。先頭要素はia[0]です。最後の要素はia[3]です。
int型を指すポインタを扱う
int型を指すポインタを扱うプログラムの例を示します。コマンドプロンプト用のプログラムです。
typeコマンドでファイル内容を表示しました。gccでコンパイルしました。a.exeができたので実行しました。上記例では、pがint型を指すポインタです。i1がint型の変数で、10で初期化済みです。i1のアドレスは、&i1です。p = &i1;で、i1のアドレスがpに代入されました。*pは、pが指すint型の値になります。10になっているはずです。確認すると、*pの値は10でした。*p = 20;で、pが指すint型の場所に20を代入しました。pにはi1のアドレスが入っているので、i1が20になっているはずです。確認すると、i1の値は20でした。
int型の1次元配列を扱う
int型の1次元配列を扱うプログラムの例を示します。コマンドプロンプト用のプログラムです。
typeコマンドでファイル内容を表示しました。gccでコンパイルしました。a.exeができたので実行しました。上記例では、配列の要素の数は4つです。配列の変数名はiaです。先頭要素はia[0]です。最後の要素はia[3]です。配列名は先頭アドレスを表します。配列の先頭要素ia[0]のアドレスは&ia[0]です。iaは&ia[0]と等しくなります。
文字列にポインタを用いる
文字列にポインタを用いるプログラムの例を示します。コマンドプロンプト用のプログラムです。
typeコマンドでファイル内容を表示しました。gccでコンパイルしました。a.exeができたので実行しました。文字列は多くの場合、char型の1次元配列で、最後にヌル文字を付加します。エスケープ文字が「¥」円マークの場合、ヌル文字は’¥0’です。(説明文中、全角円マークを使いましたが、プログラムでは半角です)
上記例では、pがchar型を指すポインタです。s1がchar型の配列です。
s1の先頭要素はs1[0]で、’a’で初期化済みです。s1の先頭要素のアドレスは、&s1[0]です。p = &s1[0];で、s1[0]のアドレスがpに代入されました。*pは、pが指すchar型の値になります。’a’で初期化された値になっているはずです。c = *p;で、int型変数に代入されました。次のprintfで、
Check1 [a] [a]
が表示されるはずです。確認すると、その通り表示されました。
s1の2番目の要素はs1[1]で、’b’で初期化済みです。s1の2番目の要素のアドレスは、&s1[1]です。p = &s1[1];で、s1[1]のアドレスがpに代入されました。*pは、pが指すchar型の値になります。’b’で初期化された値になっているはずです。c = *p;で、int型変数に代入されました。次のprintfで、
Check2 [b] [b]
が表示されるはずです。確認すると、その通り表示されました。
s1は配列名ですが、配列名は先頭要素のアドレスを表します。s1の先頭要素のアドレスは、&s1[0]です。p = s1;で、s1[0]のアドレスがpに代入されました。*pは、pが指すchar型の値になります。’a’で初期化された値になっているはずです。c = *p;で、int型変数に代入されました。次のprintfで、
Check3 [a] [a]
が表示されるはずです。確認すると、その通り表示されました。
printfで%cに対応するのはint型の引数です。
多くの処理系では、char型を渡しても、期待通りに動作します。
printfで%sにより文字列を表示する
printfで%sにより文字列を表示するプログラムの例を示します。コマンドプロンプト用のプログラムです。
typeコマンドでファイル内容を表示しました。gccでコンパイルしました。a.exeができたので実行しました。printfで%sにより文字列を表示するために、文字列の終端にヌル文字が必要です。エスケープ文字が「¥」円マークの場合、ヌル文字は’¥0’です。(説明文中、全角円マークを使いましたが、プログラムでは半角です)
文字列の先頭要素のアドレスを用いて表示します。
・文字の配列の変数名を用いることで表示できます。
・ポインタを用いることで表示できます。
下の「コピー」ボタンを押すと、このページのタイトルとURLがクリップボードにコピーされます。