初始C语言(3) 指针 关键字 原码、反码、补码
指针
1、内存:
内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
计算机中有:硬盘 、内存 、高速缓存 、寄存器 (register)
特点:内存越来越小 、 速度越来越快
cpu--中央处理器 是在寄存器中拿数据的(依次向下)
C语言中 &为其地址符 %p打印地址符 指针学习中将会用到
2、指针
:有一种变量是用来存放地址的 叫指针变量
指针变量的大小: 在32位平台是4个字节,64位平台是八个字节
基本用法说明:
1、定义一个变量 所占内存大小
2、取出变量的地址 存入类型为 inp* 的p地址中
3、验证a的地址是否存入p中
4、*——为解引用操作符 *p 通过存放在p 中的地址 返回去找到a 并将其赋值为20
5、打印出a的值
原码、反码、补码
有符号数二进制首位为1 为负数
首位为0 为正数
举例:
关键字
常见关键字:
auto break continue default do char case const double else enum for if extern float int long register goto return short signed sizeof static struct switch typedef union unsigned void volatile while
部分关键字说明
auto: 局部变量前都有 省略了
int main(){
auto int a = 10;
return 0;
}
register : 建议把变量定义成寄存器的变量,拿取更快
signed :省略 在int 前面 表示定义的变量是有符号的
unsigned :写在int前 变量没有符号 只有正
struct 结构体关键字
union 联合体/共用体关键字
!!!! typedef顾名思义是类型定义,这里应该理解为类型重命名。
unsigned int == u_int
!!!! static
作用:
注:正常函数具有 外部链接属性 当使用static修饰后 转为内部链接属性
局部变量解释:
#define 关键字
作用:”定义标识符常量“ 和 ”宏“
//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)+(y))