ゆるふわまなび日記

情弱がゆるふわな感じに勉強をしていくブログです。

Head First C (2) ポインタ

ポインタ

ポインタに対する理解はメモリに対する参照でしょー?程度。笑笑笑

ポインタは コピーの回避データ共有 の両方に役立つ。

関数内で変数を宣言すると、 スタック と呼ばれるメモリ部分に変数を格納。 関数の外側で宣言すると、 グローバル セクションに格納される。 ヒープ???

Cは引数を値として渡す。 ポインタを使うことによって、メモリ共有が簡単になる。

int x = 4;
printf("xの格納位置は%p\n", &x);
// %pフォーマットは、16進数形式で位置を出力する

// intを格納するためのポインタ変数
int *address_of_x = &n;
  • 変数はメモリに格納場所を割り当てる
  • ローカル変数はスタックに格納される
  • グローバル変数はグローバルセクションに格納される
  • ポインタはメモリアドレスを格納する変数に過ぎない
  • &演算子は変数のメモリアドレスを見つける
  • *演算子はメモリアドレスの内容を読み取れる
  • *演算子はメモリアドレスの内容を設定することもできる