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) は配列の占有バイト数を計算するものである。

bannerAds