C言語のセカンダリポインタ(ポインタツーポインタ)の詳細説明
「Pointer」は、int、doublechar などの一般的なデータ型を指すことができます。また、 int*、double*、char* などの「 データのポインタ型」を指すこともできます。
ポインターが別のポインターを指す場合、それを「セカンダリ ポインター」または「ポインターへのポインター」と呼びます。
int型の変数aがあり、p1がaを指すポインタ変数、p2がp1を指すポインタ変数であるとします。
それらの関係は次のとおりです。
int a = 100;
int *p1 = &a;
int **p2 = &p1;
「ポインタ変数」も変数の一種なので「記憶領域」を占有し、「& 」を使ってそのアドレスを取得することもできます。
C 言語ではポインタのレベル数に制限はありません。追加されるポインタのレベルごとに、ポインタ変数を定義するときにアスタリスクを追加する必要があります *
例: <