数据类型
C语言中,共有四种数据类型,其它类型都是根据四种基本类型派生而来,这四种类型分别是整型、浮点型、指针及聚合类型(如数组和结构等),下面为整型及浮点型的长度:
整型
整型包括字符、短整型、整型和长整型,且分为signed(有符号)和unsigned(无符号)两种。其最小范围如下表所示:
类型 | 最小范围 |
---|---|
char | 0~127 |
signed char | -127~127 |
unsigned char | 0~255 |
short int | -32767~32767 |
unsigned short int | 0~65535 |
int | -32767~32767 |
unsigned int | 0~65535 |
long int | -2147483647~2147483647 |
unsigned long int | 0~4294967295 |
另有
- void类型所占字节数为0;
- bool类型所占字节数为1(true或false);
关于每种类型的大小如下所示:
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long long));
}
在不同系统中,类型所占字节大小不同:
类型 | 16位系统 | 32位系统 | 64位系统 |
---|---|---|---|
char | 1 | 1 | 1 |
int | 2 | 4 | 4 |
short | 2 | 2 | 2 |
long | 4 | 4 | 8 |
long long | 8 | 8 | 8 |
关于整型值之间相互之间的大小规则:
long至少应和int一样长,int至少应和short一样长,即long和int可以一样长;
浮点型
浮点型包括float、double和long double类型
关于每种类型的大小如下所示:
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
//32位系统中分别是4 8 8
}