资源描述:
《指针的概念、定义与引用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课题序号授课班级12综高67授课课时2授课形式理论课授课章节名称8.18.2使用教具教学目的掌握指针的概念,区别直接和间接访问方式;掌握指针的定义;掌握&与*运算符;教学重点&与*运算符教学难点&与*运算符更新、补充、删节内容课堂作业见学案教学后记教学过程学牛课前预习,教师检査完成情况教师讲解,学牛分小组讨论交流课堂教学安排主要教学内容及步骤本章我们学习c语言中一个重要的概念——指针。指针也是C语言的重要特色。使用指针,可以使程序更加简洁、紧凑、高效。【课前预习】1、什么是变量?变量在内存中是如何存储的?在程序的运行过程中,值可以改变的量称为变量。一个变量实质
2、上是代表了内存中某个存储单元。计算机的内存是以字节为单位的一片连续的存储空间,每一个字节都有一个编号,这个编号就称为内存地址,就像旅馆的每个房间都有一个房间号一样。编译时,系统根据变量的类型,在内存屮分配合适人小的存储空间,比如:整型分配2个字节,实型分配4个字节,字符型分配1个字节等等。系统是根据地址对内存空间进行存取操作的,但用户只需根据变量名就可以实现对存储空间的访问。【课堂探究】1、访问方式任务二、区别直接访问方式与间接访问方式#includevoidmain(){intij,k;i=3;j=6;k二i+j;printf(ui+j=%
3、dnn,k);i;2000•112000•U2000•1•■•t••••■•t并£2002•1讪26dj;20026炽004例41fc2004•■•t•••t•■•tinti,j,k;系统给int变量i,j,k分别分配2字节的内存(如图a),并建立变量名到内存地址的一一对应关系。i=3;j=6;对i,j赋值。将3放到i对应的内存2000中,将6放到j对应的内存2002中(如图b)。k=i+j;对k赋值。从内存屮取出i和j,相加后将结果9放到k对应的内存2004中(如图c)。printfCi+j=%dn”,k);输出k的值。从内存中取出k值,输出到屏幕。这里,根
4、据变量i,j,k对应的地址访问到他们(直接按变量的地址存取变量的值的方式)称为变量的“直接访问”方式。如同我们知道白己的好朋友家住某市某街道某楼,直接去找他。我们并不总是知道目标数据的地址,比如多年未联系的同学Ao我们并不知道他们的地址,但同学B却知道,我们从同学B处得到A的地址,然后去拜访A。像这一种,需耍到某个地方得到所要数据地址的访问方式称为“间接访问”方式。C语言中也有间接访问方式。C语言屮有一种变量,专门记录变量的内存地址,通过这种变量,我们可以得知一个内存变量的存储位置,从而访问该内存变量。如冇记录地址的变量例如:・1■■■%6a2■■■2000^
5、一—U2000以002K12004i_pointer:3010地址为3010的存储单元内容为2000,地址为2000的存储单元内容为3;即i的值为3。这样,我们就可以通过ipointer來访问变量i。白先从Lpointer取出数据2000即变量i的内存地址,按此地址找到i,从里面读出数据3。内存地址2000指向变量i,我们给内存地址2000取一个新名字一一指针。指针即内存地址。指针(地址)是一种新的数据类型,对应有指针变量。指针变量川來保存指针(地址)数据。上文的Lpointer就是一个指针变量,他保存的是i的指针(地址),形彖的说,Lpointer指向i。直
6、接访问方式:X123.452060间接访问方式:PX2060►123.4520022060任务三:区别指针与指针变量指针:是地址的形象化名称变聚的地址i的指针(地址)是2000(“内存地址)指针变量:存放地址的变量Lpointer指针:内存地址指针变量:用來保存指针(地址)数据2、指针变量的定义指针变量的定义也是个说明符,表示这个变量是指针类型任务四:Cint*p,*q;p,q是两个指向int类型的指针float*p,*q;7、获得地址值&:把一个变量的地址赋给指针变量例:intk二1,*p;p二&k;将变量k的地址赋给了p,即p指向了k。注意:&必须放在运算对彖的左边运算对象的类型必须与指针变量的基类型相同。(2)通过指针变量获得地址值例:intk=l,*q,*p;p=&k;q二P;P、q指向了kP、q的基类型必须相同。q通过指针变量P获得k的地址值。(3)通过指针来引用一个存储单元当指针变量中存放了一个确定的地址值时,就可以用“*”来引用相应的存储单元。例:intk=l,*p,j;p=&k;j=*P;相当于j二k;课堂作业1、阅读程序,写出程序的运行结果main(){inta,b
8、;int*pl,*p2;a=100;b