- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言指针教学的改革探析
C语言指针教学的改革探析
摘要:指针是C语言的精华,同时又是重难点。从内存的地址分配和存取原理方面深入分析了指针的概念和实质,并对容易发生的错误进行了分析和总结。将指针设置为独立章节,并且在整个内容体系中偏后。对指针的内容体系设置缺点进行了分析,提出应将指针内容和数据类型、数组、函数等知识点有机结合、贯穿始终的改革措施,从而使学生更好地掌握指针内容和熟练运用指针。
关键词关键词:C语言;指针;数据类型;内存分析;课程内容改革;指针指向
中图分类号:G434
文献标识码:A 文章编号文章编号2014)004016803
作者简介作者简介:冯月华(1981-)女,硕士,定西师范高等专科学校计算机系讲师,研究方向为算法及计算机教学。
0 引言
近年来,C语言已经成为大部分理工科专业的必修课,其目的是培养学生的程序设计能力,进而深入理解计算机工作原理及运行过程,以便今后熟练应用计算机解决本学科的诸多问题。
指针是C语言中的一个重要概念,是C语言的精华,正确、灵活运用指针,可以使程序简洁、紧凑、高效,但是指针的概念比较复杂,使用也十分灵活,因此在学习过程中要理解和掌握它存在一定的难度。本文就是从这一问题出发,先让学生掌握组成原理中内存地址划分和存取原理知识,再运用内存图示,深刻掌握和理解指针的概念和本质。由于指针内容设置偏后和集中讲授带来一些缺点,本文对指针的内容体系设置提出了一些新的调整方案,以期提高指针的教学效果。
1 指针概念及实质
1.1 概念
要理解指针的概念,首先要掌握内存的基本存取原理。冯?诺依曼的“程序存储思想”告诉我们,计算机的本质其实是“程序的机器”,其工作原理就是自动、连续地运行存放在内存中的程序的过程。内存是计算机的记忆设备,可以存放二进制数据,但是内存的空间很大,如2GB的内存存放231×8位的二进制数,可用字节将内存分成231个空间,以字节的整数倍大小给程序和数据分配存放空间。为了数据的正确存取,每个空间必须给一个编号,也就是地址,这样就知道数据到底存放在内存空间的什么位置了,取数时也会从确定的地址找到存放空间而不会发生错误。这就相当于一个宾馆中有许多房间,每个房间都有一个不同的编号一样。
假设程序已定义了3个变量i、j、k,变量有3要素:变量名、变量类型、变量值。变量名实际上是以一个名字代表的一个存储空间,存储空间的大小由其类型决定,例如:
short int i=3;
int j=12;
float k=8.3;
char c1=’a’;
图1 内存地址及内存空间分配
不同的编译环境分配给数据类型的存储空间不同,Visual C++6.0编译系统分配给短整型的存储空间是2个,整型是4个,浮点型也为4个,而double型为8个存储空间,字符在存储器中是用它的ASCII码值来存放的,所以分配了一个存储空间,如图1所示。内存的地址从0开始,依次递增,每个存储空间都唯一对应了一个地址编号。假设1000~1001单元用来存放变量i,其值为3,要注意变量地址和变量值是两个概念,就如同房间的号码和房间住的客人是不一样的;同样的1002~1005存放整型变量j,2002~2005存放浮点型变量k,2006单元存放字符变量c1。
程序执行时,通过变量名i找到存储空间的地址,从中取出存放的变量值。程序经过编译之后将变量转换成变量的地址,对变量值的存取都是通过地址进行的,这种直接按变量名的访问方式称为“直接访问”。
假设将i变量的地址存放在变量A_i的存储空间中,现在A_i中不是存放了一个数据,而是地址,要存取变量i的值时,又多了一种方法,如图2所示,通过变量A_i得到其存储空间地址为3020,在该地址中取出存放的值1000,它不是数据,而是i的地址,通过该地址,再访问内存地址为1000的存储空间,取出其中存放的变量i的值3,像这种访问变量i的方法叫“间接访问”。
这样变量A_i和i之间建立起了一种联系,即通过A_i能知道i的地址,从而找到i的内存单元,如图2中用A_i指向变量i箭头表示这种指向关系。
图2 指针变量指向变量空间关系
由于通过地址能找到对应的存储单元,因此将其地址形象化地称为“指针”。一个变量的地址称为该变量的“指针”,如果有一个变量专门存放其它变量的地址(指针),则它称为“指针变量”,如A_i就是一个指针变量,专门用来存放地址,它的值就是地址,也就是指针。
1.2 指针变量
专门存放指针值的变量就是指针变量,它只能存放指针,也就是说指针变量的值是其它变量存储空间的地址,而不是一般数据。如果说一个指针变量的值是X,也就是说该指针指向了以X为首
您可能关注的文档
最近下载
- 第25课《人民解放战争》(共21张ppt).pptx
- T梁预制及架设安全专项施工方案.doc VIP
- 四川省成都市武侯区九年级(上)期中化学试卷.doc VIP
- 《浙江省城市轨道交通100kmh AH型电客车架修技术规范》.pdf VIP
- 2025内蒙古锡林郭勒盟正蓝旗招聘社区工作者18人考试备考题库及答案解析.docx VIP
- 杭州西奥电梯有机房客梯使用维护说明书.docx
- 江西中烟工业公司笔试试题2025.docx VIP
- 《GB/T 40484-2021城市轨道交通消防安全管理》.pdf
- 《我是中国公民》教学设计最终版.docx VIP
- 88J14-4(2006) 北京四合院建筑要素图.docx VIP
原创力文档


文档评论(0)