C言語のポインタと構造体を復習したついて軽くメモ

Obj-Cにちょっと興味が出たので最速文法まわりとか読んでたけどよくわからなくて、前提知識としてさすがにこのくらいは抑えないとと思ってCの復習してた。
C++も必要かな?って思ってたけどそうでもないらしい。まあ座学的にちょっと見ておこうとは思うけど。

#include <stdio.h>

/*構造体の宣言*/
typedef struct User {
  int no;
  char name[100];
  float height;
} User;

int main(int argc, char const* argv[])
{
  /*普通のintの宣言*/
  int a;
  /*ポインタの宣言*/
  int *b;

  a = 1;
  b = &a;

  /*普通に実体の参照*/
  printf("aの値は%d\n", a);
  /*アドレスの参照(ポインタ)*/
  printf("aのアドレスは%p\n", &a);
  /*ポインタを格納したのでそれの値*/
  printf("bのアドレスのは%p\n", b);
  /*ポインタから値を取り出す*/
  printf("bのアドレスの実体は%d\n", *b);

  /*構造体の初期化*/
  User atas = {1, "atas", 1.22};
  /*構造体のメンバーへのアクセス*/
  printf("atasの名前は%s\n", atas.name);

  return 0;
}

実行結果

aの値は1
aのアドレスは0x28cd2c
bのアドレスのは0x28cd2c
bのアドレスの実体は1
atasの名前はatas

前に買ったこの本を使った。ただ正直ポインタがどう便利なのかはよくわからなかった。

かんたんC言語 (プログラミングの教科書)

かんたんC言語 (プログラミングの教科書)

広告を非表示にする