int x; int *p; |
x = 5; p = 0; // ポインタに 0 を代入しているが、これをヌルポインタという |
#include <iostream>
void swap(int *x, int *y); // 関数のプロトタイプ。swap 関数のx、yを ポインタとして宣言
int main(int argc, char* argv[])
{
int x = 10;
int y = 20;
std::cout << "[交換前]\n";
std::cout << "x=" << x << ", y=" << y << "\n";
swap(&x, &y); // 関数による交換操作。main 関数内の変数 x、y のアドレスを渡している
std::cout << "[交換後]\n";
std::cout << "x=" << x << ", y=" << y << "\n";
return 0;
}
void swap(int *x, int *y) // swap 関数の定義。引数は上にある関数のプロトタイプに合わせる。
{
int tmp; // tmp は通常の変数として定義
tmp = *x; // x、y の値はポインタ変数の値としてアクセス
*x = *y;
*y = tmp;
}
|
void swap(int *px, int *py); // swap 関数のプロトタイプ。関数の定義をどう変更するかは省略。各自試してみると良い。 |