はじめに
この実験では、C++ でポインタを使って 2 つの数値を入れ替える方法を学びます。このプログラムは、2 つの数値のアドレスを関数に渡すことでそれらを入れ替え、ポインタを使ってメモリ内のそれらの場所を指し示します。
ヘッダー ファイルをインクルードして関数を宣言する
まず、必要なヘッダーファイルをインクルードし、2 つの整数型ポインタを引数とする swap 関数を宣言します。
#include <iostream>
using namespace std;
//2 つの数値を入れ替えるための Swap 関数
void swap(int *num1, int *num2);
swap 関数を定義する
ここでは、swap 関数を次のように実装します。
void swap(int *num1, int *num2) {
int temp;
//num1 の値を一時変数にコピーする
temp = *num1;
//num2 の値を num1 にコピーする
*num1 = *num2;
//一時変数に格納されている num1 の値を num2 にコピーする
*num2 = temp;
}
この関数は 2 つの整数型ポインタを引数とし、一時変数を使ってそれらが指す値を入れ替えます。
2 つの数値を入力して swap 関数を呼び出す
num1 と num2 の変数を宣言し、cin を使ってそれらの値を入力します。swap 関数を呼び出し、それらのアドレスを引数として渡します。
int main() {
int num1, num2;
//ユーザーから 2 つの数値を入力する
cout<<"最初の数値を入力してください : ";
cin>>num1;
cout<<"2 番目の数値を入力してください : ";
cin>>num2;
//num1 と num2 のアドレスを渡す
swap(&num1, &num2);
入れ替えた数値を出力する
cout を使って入れ替えた数値を出力します。
//num1 と num2 の入れ替えた値を表示する
cout<<"最初の数値 : "<< num1 << endl;
cout<<"2 番目の数値: "<<num2 << endl;
プログラムをコンパイルして実行する
プログラムを ~/project ディレクトリに main.cpp として保存します。次のコマンドを使ってコードをコンパイルします。
g++ main.cpp -o main &&./main
まとめ
この実験では、C++ でポインタを使って 2 つの数値を入れ替える方法を学びました。2 つの整数型ポインタが指す値を入れ替える swap 関数を宣言して定義し、cin と cout を使ってそれぞれユーザー入力を取得し、出力を表示しました。



