10. sizeof运算符

sizeof 运算符是一个用于计算变量、数据类型或表达式的结果的类型所占用的内存大小(以字节为单位)的运算符。

sizeof 运算符是编译时运算符,即在编译阶段计算结果,而非运行时计算。

语法

sizeof 一元表达式
// 或
sizeof (类型)

示例

#include <stdio.h>

int main(int argc, char *argv[]) {
    char ch = 'a';
    short int si = 100;
    int i = 1000;
    long int li;
    long long int lli;
    float f = 3.14;
    double d;

    printf("sizeof ch: %ld\n", sizeof ch);
    printf("sizeof si: %ld\n", sizeof si);
    printf("sizeof i: %ld\n", sizeof i);
    printf("sizeof li: %ld\n", sizeof li);
    printf("sizeof lli: %ld\n", sizeof lli);
    printf("sizeof f: %ld\n", sizeof f);
    printf("sizeof d: %ld\n", sizeof d);
    printf("sizeof 100: %ld\n", sizeof 100);
    printf("sizeof(char): %ld\n", sizeof(char));
    printf("sizeof(short int): %ld\n", sizeof(short int));
    printf("sizeof(int): %ld\n", sizeof(int));
    printf("sizeof(long int): %ld\n", sizeof(long int));
    printf("sizeof(long long int): %ld\n", sizeof(long long int));
    printf("sizeof(float): %ld\n", sizeof(float));
    printf("sizeof(double): %ld\n", sizeof(double));
    printf("sizeof(long double): %ld\n", sizeof(long double));
    return 0;
}

运行结果

sizeof ch: 1
sizeof si: 2
sizeof i: 4
sizeof li: 8
sizeof lli: 8
sizeof f: 4
sizeof d: 8
sizeof 100: 4
sizeof(char): 1
sizeof(short int): 2
sizeof(int): 4
sizeof(long int): 8
sizeof(long long int): 8
sizeof(float): 4
sizeof(double): 8
sizeof(long double): 16