7.1指针的基本概念
指针的作用:可以通过指针间接访问内存
- 内存的地址编号是从0开始记录的,一般用16进制的数字表示
- 可以利用指针变量来保存/记录地址

定义指针的语法: 数据类型指针名
因为想让指针p指向a 的地址,所以p需和a的数据类型一样
&是取址符 p=&a *意味着 p记录了变量a的地址
int * p;p=&a;//上面两行也可以写成一行int*p=&a;
7.3指针所占内存空间

sizeof(int *) sizeof(p) sizeof(float *) ......
7.4空指针和野指针

空指针: int*p=NULL;
** p=100; (错误!!不可以访问!!)*
编号0~255的内存是系统占用的,不允许用户访问
7.5 const修饰指针
7.6指针和数组
7.7指针和函数
作用:利用指针作函数参数,可以修改实参的值
值传递
void swap01(int a, int b){int temp=a;a=b;b=temp;}int main(){int a=10;int b=20;swap01(a, b);}
地址传递(在函数体中修改实参的值)
void swap02(int *p1, int *p2){int temp=*p1;*p1=*p2;*p2=temp;}int main(){int a=10;int b=20;swap01(&a, &b);}
总结:不改变实参的值就用值传递,要改变实参的值就用地址传递










