今日头条/西瓜视频/抖音短视频 同名:正点原子原子哥
感谢各位的关注和支持,你们的支持是原子哥无限前进的动力。
C语言入门基础内容篇-基本数据类型
前言
简单来说,C语言程序可以理解为一等式“程序 = 数据结构 算法”。其中,“算法”很容易理解,就是解决问题的思路和步骤,“数据结构”直白理解就是研究数据的存储方式。数据存储只有一个目的,为了方便后期对数据的再利用。
这里的基本数据类型就有三类:整型、实型与字符型。
整型
整型,顾名思义,整数类型,也就是没有带小数点的数值类型。整型按占用内存的大小以及数值表示范围分为三种:短整型、标准整型、长整型和长长整型,分别用“short int”、“int”、“long int”和“long long int”表示。
他们的区别如下表所示。
假如C语言只使用一种整数类型,这里就存在很多疑问了,“该用多大内存才适合”,“内存大,数值范围就大,存放小数值是不是存在内存浪费”,“内存小,数值范围小,那大数值又不能存放”。综合考虑,整型就有以上四种子类,根据不同的数值大小,使用不同大小字节的内存空间,既不会浪费内存空间,也可以刚好放下合适的数值。
大家记住:内存的最小存储单位为字节(Byte)
以上的四种整数类型属于有符号的,即把一个整数转换成二进制码,最高位用来标记正负数的符号位。当我们不需要这个符号位,把它也变成数据位,那么就是无符号整型了,就没有表达负数的能力,最终存放的都是正整数。无符号整型的关键字为“unsigned”,前面讲的四种整数类型是属于有符号整型,也有一个关键字“signed”,通常不写出来。注意:默认的整型就是有符号的,假如想使用无符号整型,前面得加关键字“unsigned”。无符号得整数类型对应情况如下表。
实型
整数类型是没有小数,那么有小数得类型就称为实型,又叫浮点数类型。实型按照内存大小可分为单精度浮点数类型、双精度浮点数类型和长双精度浮点数类型,关键字分为
“float”、“double”和“long double”。他们的区别如下表。
字符型
1字节大小的整型称为字符型,关键字为“char”,用于字符的表示。简单来说,就是将0~127这个128个正整数作为字符使用,这就是我们常说的ASCII码。
ASCII码相关的资料可以回看前面写的《什么是ASCII码》推文,这里就不重复讲解。
很多时候,我们会把字符型当成整型来使用,当我们在前面加了一个关键字“unsigned”时,那么这时候表示的取值范围就为0~255。有符号与无符号字符型情况如下。
附加:
在生活中,我们很多时候都会给某个东西按一个别名,例如NBA球星等。同样的,在C语言中,也允许设置类型的别名,使用关键字“typedef”来设置,具体操作如下:
typedef 原类型名 新类型名;
新类型名跟原类型名表达的意思是一致的,效果一样,那为什么要弄一个新的类型名了?
好处1:简化一些长类型名
typedef unsigned int u16;
好处2:提高程序的通用
给short类型设置一个别名“DATATYPE”,程序中都是使用DATATYPE。
typedef short DATATYPE;
后面发现,short表示的范围不满足现在的需求,需要更大一点,在程序中即修改以下上面的代码即可。
typedef int DATATYPE;
好处3:增加可读性
例如,如果要想知道一个int类型变量的含义,那么使用typedef即可解决。
Typedef int SCORE;
代码中,变量类型使用SCORE,就可以知道该变量表示的是分数了。
,