- 関数内で変数を宣言すると、コンピュータはスタックと呼ばれるメモリ部分に変数を格納する
- 関数の外側で変数を宣言すると、コンピュータはメモリのグローバルセクションに変数を格納する
変数のメモリアドレスを知るには、&演算子を使う。
変数のアドレスは、メモリ内の変数の位置を表す。
そのため、アドレスはポインタとも呼ばれる。
メモリアドレスの内容を読み取ったり、設定したりするには、*演算子を使う。
メモリポインタの仕様
#include <stdio.h> int main { int x = 4; printf("xの格納位置は%pn", &x); int *address_of_x = &x; # ポインタ変数 int value_stored = *address_of_x; #「*」演算子でポインタを参照解決する printf("value_storedの値は%pn", value_stored); *address_of_x = 99; # アドレスの指す内容を変更する printf("xの値は%pn", x); }
ポインタ変数の使い方
1. 変数のアドレスを取得
ポインタ変数:
int x = 4;
int *address_of_x = &x
2. アドレスの内容を読み取る
int value_stored = *address_of_x;