第五章指针 教学目标 教学内容 小结
第五章 指针 •教学目标 •教学内容 •小结
教学目标 理解指针和地址的概念 ·掌握指针定义与指针运算 了解空指针和Void指针 了解常量指针和指针常量 理解指针与数组的关系 ·掌握指针与字符串 ·掌握指向指针的指针
教学目标 • 理解指针和地址的概念 • 掌握指针定义与指针运算 • 了解空指针和void指针 • 了解常量指针和指针常量 • 理解指针与数组的关系 • 掌握指针与字符串 • 掌握指向指针的指针
教学内 ●内存与内存地址 ●内存中变量的存储 ●指针变量的定义与引用 ●空指针和void指针 ●指针运算 ●常量指针和指针常量 ●指针与数组 ●指针与字串 ●指向指针的指针
教学内容 ⚫ 内存与内存地址 ⚫ 内存中变量的存储 ⚫ 指针变量的定义与引用 ⚫ 空指针和void指针 ⚫ 指针运算 ⚫ 常量指针和指针常量 ⚫ 指针与数组 ⚫ 指针与字符串 ⚫ 指向指针的指针
内存(1) 内存 内存是计算机中存储程序以及数据的地方。 位(bi是计算机表示信息的最小单位。 内存是由一系列连续的存储单元组成,其 中的每一个存储单元我们称为“字节 字节(bye)是最基本的存储单元单元
内存(1) 内存: 内存是计算机中存储程序以及数据的地方。 位(bit)是计算机表示信息的最小单位。 内存是由一系列连续的存储单元组成,其 中的每一个存储单元我们称为“字节”。 字节(byte)是最基本的存储单元单元
内存(2) 内存地址 (1)存储单元的“编号”就是该存储单元在 内存中的地址,它是从0开始的。 (2)每个存储单元的编号都是唯一的。 (3)存储单元的编号采用一个十六进制数。 例如64kB内存的地址为0000H~ FFFFH
内存(2) 内存地址: (1)存储单元的“编号”就是该存储单元在 内存中的地址,它是从0开始的。 (2)每个存储单元的编号都是唯一的。 (3)存储单元的编号采用一个十六进制数。 例如64kB内存的地址为0000H~FFFFH
内存中变量的存储 内存地址内存单元变量 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