- 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语言;变量
中图分类号:TP312文献标识码:A文章编号:1009-3044(2012)21-5163-03
C Language Pointer in the Teaching of Basic Application
CHEN Jing-yan1,CHEN Yue-bin2
(1.Medical College of Shantou University, Shantou 515041, China; 2.Zengcheng College of South China Normal University, Guangzhou 511363, China)
Abstract:It can be said that the pointer is the soul of the C language, familiar and flexible use of the pointer, you can effectively represent complex data structures; dynamic memory; the use of string; arrays are very effective. Beginners often an error, how to enable students to acquire and in-depth learning pointer is a difficult and often requires some time. The following combination of experience, discuss and summarize the pointer problem.
Key words:pointer;C language;variable
C语言是一种计算机程序设计语言,是目前最广泛使用的计算机语言之一,也是各高校专业与非专业主要的计算机教学语言。指针是C语言中最为复杂的一个部分,使用起来非常灵活,因而学习时常出错,必须小心,多思考,多比较,在实践中把其掌握好。
1指针概念
指针变量简称指针,其实它也是变量,只不过里面存放的内容是一个地址,这个地址指向另外一个变量。指针就是内存的地址,必须弄清楚数据在内存中是如何存储与读取的;内存单元地址与内存单元内容是两个不同的概念。内存单元地址就像宾馆每个房间一样,其房间号就是其地址,单元内容可以理解为房中的宾客;如图1所示:假设程序定义了三个变量a、b、c,编译时系统分配1000和10001两个字节给a,1002和1003给b,1004和1005给c。由此可以知道,地址是用来标识每一个存储单元,是用户对存储单元中的数据的访问,在C语言中形象的将地址叫做指针,它可以用来指向变量、数组、结构体、和多级指针等等。对于表达式、常量或者是寄存器变量则不能用指针来指向。
2指针变量的定义和引用
2.1指针变量的定义
C语言规定指针变量在使用之前必须被定义,遵循先定义后使用的原则,定义指针变量与一般变量定义开式相似,也是用说明语句来实现的,但不同于其他类型变量的就是它是用来专门存放地址的。
指针变量定义的一般开式为
类型标识符*指针变量名;
下面都是合法的定义:
int *g1,*g2,*g3;定义g1、g2、g3指向整型数据的指针变量。
float *k1,*k2,*k3;定义k1、k2、k3指向实型数据的指针变量。
char *m1,*m2,*m3;定义m1、m2、m指向字符型数据的指针变量3。
在定义指针变量值得注意的是:
①“*”是一个指向符号,表示标识符为指针变量,上面的g1、g2、g3等是指针变量名,而不是*g1、*g2、*g3,值得注意的是指针变量是用来存放地址的。
②一个指针变量只能指向同一个类型的变量。由于不同类型的数据在内存中所占的字节数不同,如果忽而指向一个整型变量,忽而指向一个实型变量,会使系统无法管理变量的字节数而发生错误,所以只有同一类型变量的地址才能放到指向该类型变量的指针变量中。
2.2指针变量的引用
例如:
main()
{
int i=10,j=20;
int *g1,*g2;
g1=i;
g2=j;
printf(
文档评论(0)