C言語の sizeof の使い方
C言語において、sizeof は変数、データ型、式が占めるバイト数を計算する演算子です。
「文法形式」+「翻訳」
sizeof(type)
sizeof(expression)
型はデータ型で、基本型(int、char、floatなど)か、構造体、共用体など、ユーザー定義のデータ型になります。式は、変数名、配列名、ポインタなどです。
sizeof 演算子の戻り値は size_t 型の整数で、バイト数を表します。size_t 型の値を出力するには %zu フォーマット指定子を使用します。
以下に例を示します
#include <stdio.h>
int main() {
int num = 10;
float f = 3.14;
char ch = 'A';
int arr[5] = {1, 2, 3, 4, 5};
printf("%zu\n", sizeof(int)); // 输出:4
printf("%zu\n", sizeof(num)); // 输出:4
printf("%zu\n", sizeof(float)); // 输出:4
printf("%zu\n", sizeof(f)); // 输出:4
printf("%zu\n", sizeof(char)); // 输出:1
printf("%zu\n", sizeof(ch)); // 输出:1
printf("%zu\n", sizeof(arr)); // 输出:20
return 0;
}
上記の例では、sizeof(int)、sizeof(float)、sizeof(char) は基本データ型の占有バイト数を計算するもので、sizeof(num)、sizeof(f)、sizeof(ch) は変数の占有バイト数を計算するものであり、sizeof(arr) は配列の占有バイト数を計算するものである。