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