【C言語】ポインタ型変数の宣言・アドレスの求め方

この記事では、C言語のポインタ型変数の宣言と、変数のアドレス求め方について紹介します。

## ポインタ型変数

ポインタは、変数を格納しているアドレスを示す表現です。
データが1つずつ変数に入っている時、「各変数のアドレスを配列にしておけば、バラバラの変数をまとめて管理する」ことができます。
このように「アドレスをデータとして扱う変数」をポインタ型変数といいます。

配列ptr | 100番地 | 110番地 | 115番地 |

## ポインタ演算子 *

C言語では、ポインタ型変数は「*px」のように先頭にアスタリスク * を付加して宣言します。
この * を「ポインタ演算子」といいます。

【例】ポインタ型変数の宣言
int *px; // pxはint型変数を指すポインタ
char *py; // paはchar型変数を指すポインタ

## アドレス演算子 &

変数のアドレスを求める場合は、アドレス演算子 & を使います。

【例】変数のアドレスを求める
int x = 5; // int型変数の宣言
int *px; // int型変数を指すポインタの宣言

px = &x; // 変数xのアドレスをポインタpxに格納

xの値 = 10
&xの値 = 102 → これをポインタpxに代入(102は変数xのアドレス)
pxの値 = 102
&pxの値 = 202

ポインタ型変数も普通の変数と同じで、アドレスが割り当てられます。
(上の場合は202番地)

【関連記事】
C言語入門 (サンプルプログラム集)

コメント