はじめに
C 言語のプログラミングでは、ポインタは他の変数のメモリアドレスを格納するために使用されます。同様に、ポインタのポインタは、別のポインタ変数のメモリアドレスを格納する変数です。この実験では、ポインタのポインタを扱う C プログラムを書く方法を学びます。
C 言語のプログラミングでは、ポインタは他の変数のメモリアドレスを格納するために使用されます。同様に、ポインタのポインタは、別のポインタ変数のメモリアドレスを格納する変数です。この実験では、ポインタのポインタを扱う C プログラムを書く方法を学びます。
このステップでは、3 つの変数 var
、*ptr
、**pptr
を宣言します。
int var;
int *ptr;
int **pptr;
var
に値を代入するこのステップでは、変数 var
に値を代入します。
var = 50;
ptr
に var
のアドレスを代入するこのステップでは、変数 var
のアドレスをポインタ ptr
に代入します。
ptr = &var;
pptr
に ptr
のアドレスを代入する次に、ポインタ ptr
のアドレスをポインタのポインタ変数 pptr
に代入します。
pptr = &ptr;
pptr
を使って値にアクセスする最後に、ポインタのポインタ変数 pptr
を使って var
の値にアクセスします。
printf("\nValue of var = %d\n", var);
printf("\nValue available at *ptr = %d\n", *ptr);
printf("\nValue available at **pptr = %d\n", **pptr);
最初の printf
文は、変数 var
の値を表示します。
2 番目の printf
文は、ptr
に格納されているメモリアドレスにある値を表示します。これは var
の値でなければなりません。
3 番目の printf
は、pptr
に格納されているメモリアドレスにある値を表示します。これは ptr
の値でなければなりません。そして、2 回参照を解除して var
の値を取得します。
main.c
に完全なコードを記述するこれまで様々なステップを経てきましたので、main.c
の main
関数にコードをまとめることができます。
#include <stdio.h>
int main()
{
int var;
int *ptr;
int **pptr;
var = 50;
ptr = &var;
pptr = &ptr;
printf("Value of var = %d\n", var);
printf("Value available at *ptr = %d\n", *ptr);
printf("Value available at **pptr = %d\n", **pptr);
return 0;
}
この手順に沿った実験では、ポインタのポインタを扱う C プログラムを書く方法を学びました。必要な変数を宣言し、変数に値を代入し、変数のアドレスをポインタに代入し、ポインタのアドレスをポインタのポインタに代入し、最後にポインタのポインタを使って変数の値にアクセスしました。ポインタのポインタに精通することは、C プログラミングを学ぶ上で重要な第一歩です。