03-C语言入门基础(C语言中的数据类型)
一.C语言中的数据类型
实际上,数据类型就是固定大小内存块的别名,而C语言中有这样几种数据类型:
1.基本数据类型
char:占1字节
short:占2字节
int:占4字节
long:占8字节
long long:占8字节
float:占4字节
double:占8字节
long double:16字节
注:
1.1 对于整形数据类型可以加unsigned或signed来修饰它为无符号或有符号的,如果不加,则默认为有符号的
1.2 计算机中浮点数是由符号位和阶码(用于表示小数的整数部分)和尾数(小数点后的数字)三部分构成的,如果需要表示更大的数据,那么就需要
牺牲更多的尾数位,如果需要表示精度更高的数,那么就需要牺牲前面的阶码的位数来换取更高的精度。
1.3 当低级数据类型和高级数据类型进行混合运算时,会先将低级的数据类型提升为更高一级的数据类型来进行运算,比如:当short和int进行
运算时,会统一转换为int类型进行运算;当int和float运算时,会都转换为float进行运算,当float和float进行运算时,提示为double类型
1.4 如果在直接写一个小数,比如3.14那么这个数默认为double类型,如果想让它为float类型,那么请在末尾加上f,也就是3.14f
1.5 不要认为char类型就是字符,当它和整数运算时还可以当做整数来使用(实际上就是字符对应的ASCII码),比如:
char a = 'a';
char b = 99;
printf("%d\n",b);// 99
printf("%c\n",b);// c
printf("%d\n",a+2);//99 ==> 当做整数时,就是字符的ASCII码参与运算
printf("%c\n",a+2);//c ==> 当做字符时,就是ASCII码对应的字符
2.指针类型
指针类型实际上对应有基础数据类型的指针和结构数据类型指针以及函数指针
对于指针需要有一点注意,在32位系统下,指针为4字节(32位二进制)=>这也就是为什么32位系统最大能够访问的内存范围为4G(2的32次方嘛)
而64位系统的指针是8字节的,它能够访问更大的内存地址范围(2的64次方)
3.自定义数据类型(结构类型struct)
4.枚举类型(enum)
5.联合体(union)
6.函数类型(function)

浙公网安备 33010602011771号