C语言通过使用sizeof运算符,可以判断出包括char型在内的所有数据类型的长度。
#include <stdio.h>int main(void){printf("zizeof(char) = %u\n", (unsigned)sizeof(char));printf("zizeof(short) = %u\n", (unsigned)sizeof(short));printf("zizeof(int) = %u\n", (unsigned)sizeof(int));printf("zizeof(long) = %u\n", (unsigned)sizeof(long));return 0;}
运行结果:
程序的运行结果因编译器和运行环境的不同而不用。但**sizeof(char)**必定为1。
short、int和long具有以下关系。
sizeof(short)≤sizeof(int)≤sizeof(long)
注:根据编译器的不同,也可能三者为同样长度。
#include <stdio.h>int main(void){int int_a, int_b;double double_a, double_b;printf("sizeof(int) = %u\n", (unsigned)sizeof(int));printf("sizeof(double) = %u\n", (unsigned)sizeof(double));printf("sizeof(int) = %u\n", (unsigned)sizeof(int_a));printf("sizeof(double) = %u\n", (unsigned)sizeof(double_a));printf("sizeof(int + int) = %u\n", (unsigned)sizeof(int_a + int_b));printf("sizeof(int + double) = %u\n", (unsigned)sizeof(int_a + double_b));printf("sizeof(double + double) = %u\n", (unsigned)sizeof(double_a + double_b));return 0;}
运行结果: