- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
沈阳职业技术学院教案用纸
第 8 周 总第 23 次 学时:2
教学班级:软件专业各班 课程:C语言程序设计 授课教师:刘畅
课题:6.1 地址和指针的关系 6.2 指针的定义和赋值 6.3 指针变量的运算
教学方法:启发式、案例式
教具:常规教具
教学目标:使同学们掌握指针的定义及基本运算
教学重点:指针的定义及各种基本运算
教学难点:指针定义以及指向指针的指针
主要教学内容:
6.1 地址和指针的关系
6.2 指针的定义和赋值
6.2.1 指针变量的定义及初始化
6.2.2 指针变量的赋值
6.3 指针变量的运算
6.3.1 *运算符和运算符
6.3.2 指针的算术运算和关系运算
小结:
课后回顾:
沈阳职业技术学院教案用纸
四个一:
导入:指针在C语言中占有重要的地位,同时指针也是C语言的一大特色。现在,我们学习一种特殊的专门用于存储地址的变量——指针变量,通过指针变量间接访问指针所指向的数据。
正文:
6.1 地址和指针的关系
计算机中的所有数据都是顺序存放在存储器中的。一般把存储器中的一个字节称为一个内存单元(亦称存储单元),不同数据类型的值所占用的内存单元数亦不同。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址,通常也把这个地址称为指针。
内存单元的指针和内存单元的内容是两个不同的概念。可以用一个通俗的例子来说明它们之间的关系。例如,有一个超市叫“欣欣超市”,邮编地址是“沈阳市大东区劳动路12号3单元1楼2号”,里面住的人叫“张三”。这里的“欣欣超市”就相当于变量名(方便记忆),而邮编地址就相当于指针,而住的人“张三”就相当于变量的值。现实中既可以通过“欣欣超市”来找到张三,也可以通过邮编地址来找到张三。同理,在C语言中,既可以通过变量名来使用所存储的值,也可以通过指针来使用其所指变量的值。
下面了解一下与指针相关的一些概念。
(1)存储地址:计算机中数据都存放于从某个特定的地址开始的一个或若干个存储单元中,这个特定的地址即为该数据的存储地址,程序中通过变量名与这个存储地址进行对应。
(2)指针变量:是用于存储数据地址的变量,由于地址指明了数据存储的位置,因此指针变量被形象地称为“指针”,该地址中存放的数据也被形象地称为“指针所指向的数据”,如图6-1所示。
(3)直接访问:指对数据的存取操作通过变量名进行,而没有通过地址进行操作。
(4)间接访问:指通过使用指针而不使用变量名访问指针所指向的数据。
(5)指针的类型:指针的类型就是指针所指向的数据的类型。例如,有一个整型指针,它所指向的变量就必须是整型变量。
(6)指针的长度:是指针变量所占的内存字节数。若地址值是16位,则指针变量的长度是2;若地址值是32位的,则指针变量的长度就是4。
6.2 指针的定义和赋值
6.2.1 指针变量的定义及初始化
指针变量的定义格式如下:
数据类型
数据类型 *指针变量名;
指针变量的定义并初始化格式如下:
数据类型
数据类型 *指针变量名 = 变量名;
说明:数据类型可以是任意类型,是指针所指向的变量的类型。“*”是一个说明符,用来说明其后的变量是一个指针变量。
没有指向的指针变量的值是随机的。只有被赋值以后,指针变量才有确定的指向,没有初始化的指针变量必须在使用之前进行赋值操作,使其有所指向。
例如:
int a=5; /*定义了一个整型变量a,a中存储的值是5*/
int *p; /*定义一个指向整型变量的指针p,但p没指向任何变量*/
int *q=a; /*定义一个指向整型变量的指针q,并将它指向变量a*/
6.2.2 指针变量的赋值
一个指针变量除了在定义的同时被赋值(初始化)外,也可以在定义后通过不同的“渠道”获得一个确定的地址值,从而指向一个具体的对象。
(1)通过取地址运算符“”获得一个变量的地址值。先定义指针变量,然后通过赋值语句给指针一个初值,例如:
int k,*q; /*定义了一个整型变量k和整型指针q,指针q没指向任何变量*/
q=k; /*将k的地址赋给指针q,即相当于指针q指向了变量k*/
(2)通过数组名给指针变量赋值。
int a[10],*q; /*定义了一个整型数组a和整型指针q*/
q=a; /*将数组名赋值给指针q,相当于指针q指向了数组的首地址*/
(3)通过指针变量获得地址值。
int k,*p; /*定义了一
您可能关注的文档
- 《C语言实用教程(第3版)》教学教案01 1.1-1.4.doc
- 《C语言实用教程(第3版)》教学教案02 1.5 C语言编程环境.doc
- 《C语言实用教程(第3版)》教学教案03 2.1 数据类型、变量与常量.doc
- 《C语言实用教程(第3版)》教学教案04 2.2 运算符与表达式 2.3 数据类型转换及数据的溢出误差.doc
- 《C语言实用教程(第3版)》教学教案05 2.4 数据的输入输出.doc
- 《C语言实用教程(第3版)》教学教案06 2.5 程序案例(上机).doc
- 《C语言实用教程(第3版)》教学教案07 3.1-3.2.doc
- 《C语言实用教程(第3版)》教学教案08 选择结构的上机操作.doc
- 《C语言实用教程(第3版)》教学教案09 3.3 循环结构.doc
- 《C语言实用教程(第3版)》教学教案10 3.4 break、continue和goto语句.doc
文档评论(0)