[壹]数据结构类型
一.数据结构类型介绍
(一)内置类型
⑴字符型
char
[signed] char //有符号的
unsigned char //无符号的
*隐藏知识碎片掉落,是否拾取?*
C语言中用signed和unsigned关键字修饰字符型和整型;
signed,表示该类型带有正负号,包含负值;
unsigned,表示该类型不带有正负号,只能表示零和正整数;与signed相比,同样长度的内存能够表示的最大整数值增大了一倍。
*你已拥有此碎片x1*
⑵整型
①短整型
short [int] //[ ]表括号内内容可省略
[signed] short [int]
unsigned short [int]
②整型
int
[signed] int
unsigned int
③长整型 //sizeof(long)>=sizeof(int)
long [int]
[signed] long [int]
unsigned long [int]
④更长的整型 //C99中引入
long long [int]
[signed] long long [int]
unsigned long long [int]
⑶浮点型
①float //单精度浮点型
②double //双精度浮点型
③long double
⑷布尔类型
_Bool
false假0 true真1
(二)自定义类型
⑴数组
⑵结构体-struct
⑶枚举-enum
⑷联合体-union
二.各种数据类型的长度
//3.14为double型,3.14f为float型
分析:
首先引入关键字sizeof
⑴sizeof用来计算sizeof的操作符的类型长度,sizeof的计算结果(返回值)的单位是字节Byte
*隐藏碎片掉落,是否拾取?*
二进制位:1 意味着1bit
1 Byte=8 bit
1 KB=1024 Byte
1 MB=1024 KB
1 GB=1024 MB
1 TB=1024 GB
*你已拥有此碎片x1*
⑵sizeof计算结果的类型是 size_t ,一种无符号整数,这种整数值在打印时使用 %zd
*知识碎片掉落,是否拾取?*
int %d
char %c
字符串 %s
*你已拥有此碎片×2*
⑶sizeof中表达式不计算
s占2个字节,b,1都占4个字节,整型加整型等于整型(4个字节),4个字节的要放入2个字节的中,发生截断,只能放入2个字节
三.数据类型的取值范围
每一种数据类型有自己的取值范围,也就是存储的数值的最大值和最小值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:
limits.h 这个文件说明整型类型的取值范
float.h 说明浮点类型的取值范围
[贰]变量
一.定义
变量:经常变化的值
常量:不变的值
初始化:在创建变量同时给一个初始值
//否则,局部变量赋伪随机值
二.变量类型介绍
⑴全局变量:
在大括号处部定义,哪儿哪儿都能用
⑵局部变量:
在大括号内部定义
//全局变量与局部变量冲突,优先局部变量
*知识碎片掉落,是否拾取?*
程序运行起来要在内存中申请空间
内存:栈区 [局部变量函数参数]
堆区 [动态内存管理]
静态区 [全局变量静态变量]
①局部变量是放在内存的栈区
②全局变量是放在内存的静态区
③堆区是用来动态内存管理的
*你已拥有此碎片x1*
*未完待续*