数据类型
变量在内存中所占坑的大小。
c语言下的数据类型
sizeof运算符
用于获得数据类型或表达式的长度
–sizeof(object); //sizeof(对象);
–sizeof(type_name); //sizeof(类型);
–sizeof object; //sizeof 对象;
示例程序:
#include<stdio.h>
void 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
请按任意键继续. . .
示例程序:
#include<stdio.h>
void 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]•
看看下面的程序,运行结果会出现什么效果:
#include<stdio.h>
void 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