一、整型家族(相关约定放在头文件limits.h)
char -------------char的本质是ASCLL码值,是整型
char类型通常占用一个字节的存储空间,可以表示从-128到127的字符
char --------char到底是signed char还是unsigned char标准是未定义的,取决于编译器的实现
signed char
unsigned char
short
short类型用于表示短整型数据,通常占用2个字节的存储空间,范围从-32768到32767,即-2^15到2^15-1。无符号短整型范围从0到65535,即0到2^16-1
signed short [int] 有符号短整型
unsigned short [int] 无符号短整型
int ---------int a;------->signed int a;
在 16 位操作系统中,
int
类型通常是 16 位(或 2 字节),在 32 位操作系统中,int
类型通常是 32 位(或 4 字节),除非另有规定,否则所有int
类型都表示带符号值。int类型表示范围从-2^31到2^31-1;无符号整型(unsigned int)表示的范围从0到2^32-1。
signed int 有符号整型
unsigned int 无符号整型
long
long表示一种长整型数据,为long int 的缩写,默认为有符号长整型,含4个字节,取值范围为:-2^31 到2^31 -1。无符号长整形表示的范围是从0到2^32 -1。
signed long [int] 有符号长整型
unsigned long [int] 无符号长整型
long long
“long long”在C语言中是64位长整型数据类型。long long是属于int型,一般来讲,是long int型大小的两倍。“long long int”在C语言中可以简写为“long long”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。unsigned long long int支持的整数范围是从0到02^64-1
“long long int”和“unsigned long long int”都是在C99标准中才被引进的。需要注意:longlong是一个后来加上去的数值类型,也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0)。
signed long long [int]
unsigned long long [int]
二、浮点型家族(相关约定放在头文件float.h)
只要是表示小数就可以使用浮点型,float的精度低,存储的数值范围较小,double的精度高,存储的数据的范围更大。
float
单精度浮点数(float)通常占用4个字节的内存空间,包括一个符号位、一个8位二进制指数和一个23位尾数,提供了大约7位有效数字的精确度。单精度浮点数的范围大致在`-3.4✖10^38`到`+3.4✖10^38`之间。
double
双精度浮点型(double)通常占8个字节(64位)内存空间,其数值范围为-1.7E308~1.7E+308。
三、构造类型(自定义类型)
数组类型
int arr1[5]; arr1的类型是int [5]
int arr2[8]; arr2的类型是int [8]
char arr3[5]; arr3的类型是char [5]
结构体类型struct
枚举类型enum
联合类型union
四、指针类型
int* pi; pi的类型是int*
char* pc; pc的类型是char*
float* pf; pf的类型是float*
void* pv; pv的类型是void*
五、空类型
void表示空类型(无类型)
通常应用于函数的返回类型,函数的参数,指针类型
第一个void表示函数不会返回值
第二个void表示函数不需要传入任何参数
void test(void)
{
}