内存中变量的存储 内存地址内存单元变量 2000H 2002H 2004H 345 2006H 未知值 2008H 未知值 kxy int i=3,J=4, k=5, int×,y
内存中变量的存储
变量的直接访 通过变量名访问内存单元的方式称为“直接访问”。 int =3, j=4, k=4; k=k的执行过程是: (1)取得变量k的地址2004H,2002H。 (2)将地址2004H,2002H的值取出,然后相乘。 (3)将相乘后的结果放到地址2004H开始的内存单 元中
变量的直接访问 通过变量名访问内存单元的方式称为“直接访问”。 例如: int i=3,j=4,k=4; k=k*j的执行过程是: (1)取得变量k,j的地址2004H,2002H。 (2)将地址2004H,2002H的值取出,然后相乘。 (3)将相乘后的结果放到地址2004H开始的内存单 元中
变量的间接访冋 引入指针变量,用来保存变量的地址。 定义指针变量 类型*指针变量名 获得变量地址:(单目运算符&) int =3, j=4, k=5; int*p=&i, q=&k 使用指针变量,间接访问内存变量 K=*p
变量的间接访问 引入指针变量,用来保存变量的地址。 定义指针变量: 类型 *指针变量名; 获得变量地址: (单目运算符&) int i=3,j=4,k=5; int *p =&i,*q=&k; 使用指针变量,间接访问内存变量: k=*p;
指针变量示例1 内存地址内存单元变量 2000H 2002H 4 2004H 5 2006H 2000H pkp 2008H2004 inti=3|=4,k=5; int *p=&i, *q=&k
指针变量示例1
指针变量示例2 内存地址内存单元变量 2000H 3.1 2004H 4.2 p 2008H 5.3 k 200CH 2000H fp 2010H2004 float f1=3.1f2=4.2f,f3=5.3f; int*fp =&f1, fq=&f2
指针变量示例2