『Head First C』第2章 ポインタ

  • 関数内で変数を宣言すると、コンピュータはスタックと呼ばれるメモリ部分に変数を格納する
  • 関数の外側で変数を宣言すると、コンピュータはメモリのグローバルセクションに変数を格納する

変数のメモリアドレスを知るには、&演算子を使う。

変数のアドレスは、メモリ内の変数の位置を表す。
そのため、アドレスはポインタとも呼ばれる。

メモリアドレスの内容を読み取ったり、設定したりするには、*演算子を使う。

メモリポインタの仕様

#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;

3. アドレスの内容を変更する

配列変数

  • 配列変数はポインタとして使える
  • 配列変数は配列の最初の要素を指す
  • 関数に配列引数を宣言すると、ポインタとして扱われる
  • ポインタのサイズは、32ビットOSでは4バイト、64ビットOSでは8バイト

コメントをどうぞ

コメントを残す