- 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语言;指针;指针变量;地址
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)02-0389-03
Discuss Application Of The Pointer in C Language Program
HU Xiao-yan,PANG Run-fang
(Engineering Training Center Inner Mongolia University of Seicence and Technology, Baotou 014010, China)
Abstract: In this paper,the concept of pointer,pointer arithmetic,pointer of use, flexible application should pay attention to in terms of C language pointer analysis and discussion. Guide the students how to use the pointer.
Key words: C Langwage; Pointer; Pointer Variables; Address
《C语言程序设计》课程是我校理工科非计算机专业学生进入大学所接触的第一门计算机语言课程。实践证明,该门课程对于初学者来说难度比较大,这也是由于C语言的特点决定的。因为C语言功能强大,它既有高级语言的特点,也有低级语言的特点。而在这门课程中指针又是C语言的精华,因此灵活地应用指针,可有效地表示复杂的数据结构、动态分配内存、方便地引用字符串和数组;在进行函数调用时还可获得多个返回值,并可直接处理内存地址,实现其它高级语言难以实现的功能;运用指针编程是C语言最重要的风格之一。但指针比较难以掌握,使用时常犯一些错误,即使是熟练的程序员也很难发现和排除这些错误。为了设计出高效、简洁、紧凑的用户程序,正确理解和使用指针非常重要。因此如何引导学生学会C语言的指针在编程中应用是很重要的事情。
1指针的概念
计算机对信息的处理都由操作系统调入存储器存放并执行,存储器中有众多的存储单元,存储单元是用来存放数据的。存放在存储单元中的数据称为存储单元的内容(或值)。计算机为了对存储单元进行有效的管理,便为存储单元进行编号(以字节为单位),这个编号就是“地址”,这个“地址”又称为指针[1]。每个变量都有一个地址。不同数据类型的变量,占用的字节数不同,系统把变量占据存储单元的第一个字节的地址作为该变量的地址。有了地址我们就可以引入指针变量。指针变量是一种特殊的变量,变量中存放的不是某种数据类型的数据,而是存放另一个变量的地址。如果一个指针变量存放了另一个变量的地址,则形象地称指针变量指向那个变量。下面提供一个指针的例题,通过分析例题来理解指针的概念。
例:利用指针,求两个整数的和。main()
{ int i,j,sum;
int *p,*q;/*定义指针变量*/
p=i;q=j;/*建立关联*/
scanf(“%d,%d”,p,q);
sum=*p+*q;/*使用指针变量*/
printf (“%d,%d\n”,*p,*q);
printf(“和= %d\n”,sum);
}
在程序当中,首先定义两个普通变量i,j,再定义两个指针变量p,q,为了进行区分普通变量和指针变量,所以在指针变量名前加’*’号。不能引用没有赋值的指针变量,否则可能会造成系统瘫痪,所以将i赋值给p,j赋值给q,说明指针变量指向了普通变量。如图所示:
有了指向关系,在输出语句中就可以利用指针来访问普通变量i,j。
2指针的运算
指针变量和其他变量一样,也可以进行运算,由于指针的运算实际上是地址的运算,所以和其它变量的运算又有区别[1]。
1)间接访问运算
用变量名对其所对应的存储单元的内容进行读写称为直接访问,而通过存储单元的地址对其内容进行读写的则称为间接访问。尽管指针变量中保存的是存储单元的地址,而引入指针的目的主要是为了更方便快捷地访问存储单元的内容。
间接访问是在引用的指针变量前面加一个“*”号,用来表示指针所指向的存储单元的值或内容。例如:
int a=5, *p;
p=a;
printf(%d,*p);
当指针p指向a后,若用指针p访问所指存储单元的内容时,可以写成*
您可能关注的文档
最近下载
- DL∕T 637-2019 电力用固定型阀控式铅酸蓄电池.pdf VIP
- RoboSim虚拟机器人第三课-灯如流水.pdf VIP
- 22、啊哈C语言!逻辑的挑战(修订版)-2020-01-05.pdf VIP
- 《有余数的除法》.pptx VIP
- 山东第四届结构设计竞赛手册(终稿).pdf VIP
- 气排球比赛记分表格模板.doc VIP
- CMA测试试题培训资料.doc VIP
- 超星尔雅学习通《中华诗词之美》章节测试答案满分版.doc VIP
- 幼儿安全教案:会惹祸的阳台.doc VIP
- 第三单元 水溶液中的离子反应与平衡 (⼤单元教学设计)-【大单元教学】高二化学同步备课系列(人教版2019选择性必修1).pdf VIP
文档评论(0)