目录
目录
5、《利用指针变量作为函数参数,以及编程子函数,内容实现了交换》
2、未初始化的指针不能使用;先定义,后赋值,再使用,如果未初始化,指针为“野指针”;
一、指针的概念
1、小概念
- 由于通过地址能找到所需的变量单元,地址指向变量单元;
- 一个变量的地址称为该变量的“指针”,地址可以称为“指针”
2、p=&i; *p=i
- p = &i 把i的地址存放在p的存储单元中;
- *p = i 把i的存储单元中的数据存放在p的存储单元中
3、指向就是通过地址来体现的
4、指针变量
- 专门存放另一个变量的地址的变量为“指针变量”;
- 指针变量的值是地址(指针)
二、变量的两个物理意义
变量值 变量地址
1、指针:一个变量的地址
2、指针变量:专门存放变量地址的变量
3、指针p指向了变量a:p保存了a的地址 p=&a
三、指针变量的定义
1、基类型 *指针变量名; 如:int *p1,*p2;
2、注意
- 指针变量也是变量,在内存中也要占用一定的内存单元,但所有类型的指针变量都占用同样大小的内存,16位=2B、32位=4B
- 指针变量前面的“ * ”,表示该变量的类型为指针型变量
四、指针变量的赋值
1、初始化赋值
- 基类型 *指针名 = 初始化地址值;int i;int *p = &i;
2、赋值
- int i,*p;p=&i;
3、指针使用说明
- 在定义指针变量时必须指定基类型
- 使用指针变量时,要与基类型一致:float a;int *p = &a;错误
- 指针变量中只能存放地址,不要将一个整数赋给一个指针变量:int *p;p=89;错误;
- 相同基类型的指针变量可以相互赋值:int a,b;int *p1,*p2;p1=&a;p2=p1;
- 可以用NULL对指针变量赋值,使其不指向任何变量:int *p;*p=NULL;