tec memo

メモです。

C言語: ポインタ、事はじめ

  • ポインタ型

    アドレスを記憶する変数の型。 他の型と合体して型を生成する。

  • ポインタ値

    変数のアドレスの値のこと。

  • ポインタ変数の宣言

int *p;
int* p;

どちらも同じ。

int* p1, p2;

と書いた場合、p2はint型になる。そのため、変数の前に*をつけて明示してあげたほうが良さそう。

アドレスを代入

#include <stdio.h>

int main(void)
{
    int *p, i;
    p = &i;
    printf("p = %p\n", p);
    printf("&i = %p\n", &i);
    return 0;
}

上記をコンパイルして実行すると以下の通りとなる。

# ./a.out
p = 0x7fff535df83c
&i = 0x7fff535df83c