- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第24卷第 12期 商 丘 师 范 学 院 学 报 Vo1.24 N0.12
2008年 l2月 JOuRNAL0FSHANGQIuTEACHERSC0LLEGE Dec. 2008
C语言指针的运用及常见错误分析
任 磊
(商丘师范学院数学系,河南 商丘476000)
摘 要:首先阐述了指针在数组方面的应用,然后结合实例进一步分析指针并指出指针在运用中易犯的错误,
同时给出有效的解决办法.
关键词:C语言;数组;指针
中图分类号:TP313 文献标识码 :A 文章编号:1672—36o0(2008)12—0091—03
AnalysisOftheuseOfC languagepOinteranditscOmm0nmistakes
REN Lei
(Depanmem0fMathematics,ShangqiuTeachersC0Uege,Shangqiu476oo0,China)
Abstract:ThispaperfirstintI0|ducestheapplication0fp0interaboutarray,thenanalyzesthepointerfulrtherCombi.
nati0nofexamplesandp0intsthemistakes0fapplicati0n,atthesametime,pIl(】vidsefflectivemeth0ds.
KeywOrds:Clanguage;array;p0inter
不掌握指针就是没有掌握c的精华,可见指针在 c语言中的重要地位.指针是 c语言中一个特殊的数据类型,灵活的运
用指针可以写出简洁、紧凑、高效的程序.但是 ,指针概念的理解和指针的灵活运用给程序设计的学习者带来困难,本文分析
了指针运用中的若干难点问题,帮助学生克服困难和错误.
1 指针的运用
1.1 指针与一维数组
c语言规定:如果指针变量 p指向数组中的一个元素,那么p+1指向同一数组中的下一个元素.如有以下定义:
intamy[3], p;
那么array+2=&d.Ⅱay[2];
(array+2)=array[2];
以此类推,若有
p=array[m];
则p+j就指向aⅡay[m+j];
(p+j)与am_y[m+j]等价;
p—j就指向array[m—j];
(p—j)与amy[m—j]等价;
从指针与数组关系可以得出,数组元素可以用下标,也可以用指针访问.下面用两个函数来区分这两种访问途经
Function 1:
intarr
— sum(intaⅡ,intn)
{intsum=0,p;
int aI1_lend=arr+n:
f0r(pt=arr,ptarrend;pt++)
收稿 日期:2007—09—28:修回日期:2008—03—07
作者简介:任磊(1978一),男,河南信阳人,商丘师范学院助教 ,主要从事计算数学的研究
商丘师范学院学报 2oo8年
sum =sum + pt;
retum sum;}
Function2:
imarLsum(intarr,intn)
{intsum=O;
intj;
for(j=0;j“;j++)
sum=sum+arr[i];
retum sum;}
从以上两个函数可以看出,Function2在理解上比Functi0n1容易人手.而 C语言编译程序是把a”[i]处理为 (arr+
i) ,在数组下标访问数组元素时,每次都要增加一次加法运算 ,而 Function1中是利用指针的移动来访问数组元素,效率要
比Function2高一些
原创力文档


文档评论(0)