八进制 与 二进制
- 一位八进制数 对应 三位二进制数
十六进制 与 二进制
- 一位十六进制数 对应 四位二进制数
进制
- 二进制 : 0b 或者 0B
- 八进制 : 0 0123
- 十六进制 :0x 或者 0X
数据类型:
short
- 短整型 占用 2个字节
int
- 整型 占用4个字节 16位系统下 , int 占2个字节
long
- 长整型 占用4个字节(32) 8个字节(64位系统下)
bool
- 占用内存空间 : 1个字节
- 取值范围(值域) : true(1) , false(0)
- 逻辑真 (非零) 假 (零值)
- 注意添加头文件:
#include <stdbool.h>
char 型
- 处理字符
- 占用内存空间 1个字节
- 取值范围(值域) : (signed) char 有符号数 ; -128 ~ +127
- unsigned char 无符号数 ; 0 ~ 255
float
- 单精度 占用4个字节
double
- 双精度 占用8个字节
* 浮点型 : 所有浮点型数据全部为约值
有符号负数
- -127
- 原码 : 1111 1111
- 反码 : 1000 0000
- 补码 : 1000 0001
* 在任意字符串的末尾会存在 字符串终止符 '\0'
变量
-
存储类型 数据类型 变量名
-
全局变量 :定义的表达式不位于任意的函数体内部.
-
auto : 最常用最不常见.
auto 修饰局部变量 , 如果局部变量前没有出现存储类型,
则编译器默认该变量的存储类型为auto . -
register : 寄存器型 (修饰局部变量)
提醒系统在执行程序时把该数据存放在寄存器中,
缩短程序执行时间, 提高程序执行效率.
如果在寄存器没有多余的存储空间时, 会把该数据默认为auto进行处理. -
extern : 外部参照引用类型
引用在同一个C语言工程中定义的全局变量 . -
变量的定义:分配存储空间
-
变量的声明:不分配存储空间.
-
static : 静态存储类型
-
修饰局部变量 : 改变局部变量的存储位置, 延长变量的生命周期到程序执行结束.
变量的值为上一次运算的结果值. -
修饰全局变量 :防止其他文件引用本文件定义的全局变量.
-
修饰函数 : 防止其他文件引用本文件定义的函数.
内存分区
代码区 :
静态区 :
- 全局变量 、 static修饰的局部变量 、常量
.bss段(未初始化数据区) .data段(已初始化数据区) rodata 常量区
如果数据未初始化, 默认值为0 .
堆区 :
栈区 :
- 局部变量 , 函数参数 .
如果数据未初始化, 默认值为随机值.
* 有符号数与无符号数同时参与运算时, 有符号数默认转换为无符号数参与运算.
位运算符 : ~ & | ^ << >>
& :
- 任意一位和 1相与, 结果值不变; 任意一位和 0相与, 结果值为0
| :
- 任意一位和 0相或, 结果值不变; 任意一位和 1相或, 结果值为1
异或 :
- 两者相同为0, 不同为1 ;
左移 : <<
- 左端舍弃, 右端补零
右移: >>
- 逻辑右移: 右端舍弃, 左端补零
- 算术右移: 右端舍弃, 左端补符号位.
sizeof函数 :
- 作用: 计算已知数据类型占用内存空间的字节数.
- sizeof(类型名或者变量名);
网友评论