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 関数のプロトタイプ。関数の定義をどう変更するかは省略。各自試してみると良い。 |