はじめに
C 言語プログラミングでは、ポインタを使って変数のアドレスを扱います。ここでは、C 言語でポインタを使って 2 つの数を足す方法を学びます。
注意:コーディングの練習や gcc を使ったコンパイルと実行の方法を学ぶために、
~/project/main.cファイルを自分で作成する必要があります。
cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main
変数を宣言する
プログラムの最初に、3 つの変数を宣言します。ユーザーの入力を格納する 2 つの整数型変数と、これら 2 つの整数型変数を指すために使用する 1 つの整数型ポインタ変数です。以下はそのコードです。
int first, second, *p, *q, sum;
ユーザー入力を取得する
ここでは、ユーザーから 2 つの整数を取得する必要があります。これには、以下に示すように scanf() 関数を使用します。
printf("Enter two integers to add using pointers: ");
scanf("%d %d", &first, &second);
変数を指すようにする
次に、先ほど宣言した整数型変数(first と second)を指す 2 つのポインタを宣言します。& 演算子を使って整数型変数のアドレスを取得し、それをポインタに格納します。以下にそのコードを示します。
p = &first;
q = &second;
ポインタを使って数値を加算する
これで整数を指すポインタが用意できたので、ポインタを使ってそれらの値にアクセスし、足し合わせることができます。以下はそのコードです。
sum = *p + *q;
上記のコードでは、* 演算子が p と q が指すアドレスに格納されている値(つまり最初と 2 番目の整数)を取得します。
結果を出力する
最後に、以下に示すように printf() 関数を使って結果を出力します。
printf("The sum of the entered numbers is: %d", sum);
まとめ
この実験では、C 言語でポインタを使って 2 つの数値を足す方法を学びました。2 つの整数型変数と、それらの整数を指す 1 つの整数型ポインタ変数を宣言しました。その後、scanf() を使って整数の値を取得し、ポインタを使ってそれらを足し合わせました。最後に、printf() を使って合計を出力しました。



