作者:天使装着幸福 | 来源:互联网 | 2023-06-07 16:22
数据类型变量在内存中所占坑的大小。c语言下的数据类型sizeof运算符用于获得数据类型或表达式的长度–sizeof(object);sizeof(对象);–sizeof(
数据类型
变量在内存中所占坑的大小。
c语言下的数据类型
sizeof运算符
用于获得数据类型或表达式的长度
–sizeof(object); //sizeof(对象);
–sizeof(type_name); //sizeof(类型);
–sizeof object; //sizeof 对象;
示例程序:
#includevoid main()
{int i;char j;float k;i = 123;j = 'c';k = 3.14;printf("size of int is: %d\n", sizeof(int));printf("size of i is: %d\n", sizeof(i));printf("size of char is: %d\n", sizeof(char));printf("size of int j is: %d\n", sizeof(j));printf("size of float is: %d\n", sizeof(float));printf("size of k is: %d\n", sizeof(k));
}
运行结果:
size of int is: 4
size of i is: 4
size of char is: 1
size of int j is: 1
size of float is: 4
size of k is: 4
请按任意键继续. . .
示例程序:
#includevoid main()
{printf("size of int is: %d\n", sizeof(int));printf("size of short int is: %d\n", sizeof(short));printf("size of long int is: %d\n", sizeof(long));printf("size of long long int is: %d\n", sizeof(long long));printf("size of char is: %d\n", sizeof(char));printf("size of _Bool is: %d\n", sizeof(_Bool));printf("size of float is: %d\n", sizeof(float));printf("size of double is: %d\n", sizeof(double));printf("size of long double is: %d\n", sizeof(long double));
}
运行结果:
size of int is: 4
size of short int is: 2
size of long int is: 4
size of long long int is: 8
size of char is: 1
size of _Bool is: 1
size of float is: 4
size of double is: 8
size of long double is: 8
请按任意键继续. . .
变量在不同编译环境、操作系统下,占用的大小是不一样的,但是一定保证:
signed和unsigned
限定变量的范围,有符号和无符号。
•[signed] short [int]
•unsigned short [int]
•[signed] int
•unsigned int
•[signed] long [int]
•unsigned long [int]
•[signed] long long [int]
•unsigned long long [int]•
看看下面的程序,运行结果会出现什么效果:
#includevoid main()
{short i;unsigned short j;i = -1;j = -1;printf("i = %d\n", i);printf("j = %d\n", j);
}
运行结果:
i = -1
j = 65535
请按任意键继续. . .
为什么会出现这样的结果???是因为取值范围出现问题。
unsigned short 类型的变量取值范围是:0~65535
超出的取值范围,所以。。。你懂得
★finished by songpl,2018.11.27