指针==地址
指针变量==存放地址的变量
int *p; //这里的*是标识符,告诉系统说这是一个指针变量(指针变量就是用来存放地址)
int a;
prinf("地址访问a:%d",*(&a));//这里的*为取值运算符,将后面跟着的内存地址中的数据取出来
变量访问有俩种:变量名访问和间接访问(指针)
%x和%p区别
32位系统下寻址能力(地址空间)是4G Bytes(0~2^32-1)二进制表示长度为32bits(也就是4Bytes), unsigned int类型也正好如此取值,%p用来输出地址符时,结果是32位的。p 对应于指针类型,返回的值是指针的地址,以十六进制的形式来表示。
为什么使用指针
1.实现函数分装
2.指向固定内存地址 //定义一个指针变量指向固定的地址