一、变量的地址
计算机中,数据存储在内存中。内存可划分为若干存储单元,每个单元可以存放8位二进制数,即1个字节。内存单元采用线性地址编码,每个单元具有唯一一个地址编码
1.变量的地址:系统为变量分配的内存单元的地址:一个无符号整型数
2.变量的访问方式:直接访问,间接访问
3.指针变量:是存放地址的变量
![e464445eac9a0a22225aa80ec3169fd4.png](https://img-blog.csdnimg.cn/img_convert/e464445eac9a0a22225aa80ec3169fd4.png)
二、指针变量的定义与引用
1.定义方法:类型符 *指针变量名
指针变量的类型 所指向的内存中存放的数据的类型
2.指针变量的赋值:指针变量的值为地址,是个无符号整数。但不能直接将整型常量赋给指针变量。
![a21db7feca1b024b8df03ee16abe43d0.png](https://img-blog.csdnimg.cn/img_convert/a21db7feca1b024b8df03ee16abe43d0.png)
用变量的地址给指针变量赋值(求地址运算符&)
注意:变量的类型必须与指针变量的类型相同
用相同类型的指针变量赋值
注意:若不赋值,则指针变量的值是随机的。
赋空值NULL
指针变量的初始化方法:
赋空值null
用已定义的变量的地址
![64e6c41b6a48ebfa02ff9f78a2e23b14.png](https://img-blog.csdnimg.cn/img_convert/64e6c41b6a48ebfa02ff9f78a2e23b14.png)
3.指针变量的应用
①两个有关的运算符:*、&
形式:&任意变量/*取地址运算符*/
*指针变量/*指针运算符*/
含义:&a表示变量a所占据的内存空间的首地址
*p表示指针变量p所指向的内存中的数据
![b4c02a85cf86b6de6a5346604ecf7a3c.png](https://img-blog.csdnimg.cn/img_convert/b4c02a85cf86b6de6a5346604ecf7a3c.png)
应用:通过指针变量访问所指变量
将指针变量指向被访问的变量
如:int a=5,*p,b;
p=&a;
访问所指变量
取内容:b=*p;
printf("%d