C言語学習20190405

printfするときの%dとか%cって何?

  • フォーマット指定子
    • フォーマット指定子一覧
    • %c: char
    • %s: char*, 文字列
    • %d: int, short
    • %u: unsigned int, unsigned short, 符号なし整数10真数
    • %o: 整数8進数
    • %x: 整数16進数
    • %f: float
    • %e: float. 指数表示

など


int mainの中身のreturn 0 って必要なの?


ポインタ

  • ポインタ
  • 変数のアドレスを記憶する変数
  • ポインタについて理解するにはアドレスとは何かを理解する必要がある
  • アドレスはメモリ上のある番地(たとえば1000番地)に変数としての領域を確保し、その領域に格納するというような説明になる
// aという変数に123を格納する、123は実際には例えば1000番地に格納される
int a = 123;

// このとき、アドレスは & をつけるとアクセス可能となる
// 例えば下記は、 上記の例だと1000番地を実際は意味する
// アドレスは %p を使えば 16進数8桁の表示でprintfデバッグ可能
printf("%p", &a);

// なので、標準入力する際の
scan("%d", &a);
// というのは、変数aのアドレスが示すメモリエリアに入力データを(この場合intなので?)整数変換して格納する、という意味になる