sizeof演算子

単項演算子で右側がオペランドになり、右に書いた表現に関連するbyte数を、演算の結果とします。 以下の3通りの使い方ができます。

使い方 簡単例 実行結果

型を指定すると型の記憶に必要なbyte数が得られる

struct d_t { double x, y };
printf("%d\n", sizeof(struct d_t));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(char));

16
4
1

配列名を指定すると配列全体のbyte数が得られる

char a1[3];
int  a2[3];
printf("%d\n", sizeof(a1));
printf("%d\n", sizeof(a2));


3
12

式を表現すると、式の結果を記憶するのに必要なbyte数が得られる

struct d_t { double x; char y[2] } a = { 0.0 ,0 };
printf("%d\n", sizeof(a.x + 0.5));
printf("%d\n", sizeof(a.y[0]));

8
1