c语言程序设计现代方法.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

指针和变长数组(C99)对变长数组同样可以执行指针算术运算。例如对于如下的二维变长数组: inta[m][n];可以声明一个指针p,指向a中的某一行: int(*p)[n];下述循环语句可以将数组a第i列元素清零: for(p=a;pa+m;p++) (*p)[i]=0;*定义含义inti;int*p;inta[n];int*p[n];int(*p)[n];intf();int*p();int(*p)();int**p;定义整型变量ip为指向整型数据的指针变量定义含n个元素的整型数组an个指向整型数据的指针变量组成的指针数组pp为指向含n个元素的一维整型数组的指针变量f为返回整型数的函数p为返回指针的函数,该指针指向一个整型数据p为指向函数的指针变量,该函数返回整型数p为指针变量,它指向一个指向整型数据的指针变量指针的数据类型为便于后续学习,此处给出C中各种指针的声明格式及含义:例下列定义的含义(1)int*p[3];(2)int(*p)[3];(3)int*p(int);(4)int(*p)(int);(5)int*(*p)(int);(6)int(*p[3])(int);(7)int*(*p[3])(int);函数指针数组,函数返回int型指针指针数组指向一维数组的指针返回指针的函数指向函数的指针,函数返回int型变量指向函数的指针,函数返回int型指针函数指针数组,函数返回int型变量用数组名作为指针指针的算术运算体现了数组与指针间相互关联的关系。另一种重要的关系是: 可以用数组名作为指向数组第一个元素的指针这种关系简化了指针的算术运算,并且使得数组和指针更加通用。*用数组名作为指针假设用如下方式声明数组a: inta[10];使用数组名a作为指针的示例如下: *a=7;/*stores7ina[0]*/ *(a+1)=12;/*stores12ina[1]*/通常情况下,a+i和a[i]是等同的均表示指向数组a中元素i的指针同样地,*(a+i)与a[i]也是等同的均表示数组a中的元素i自身*用数组名作为指针数组名可以用作指针这一事实,使得编写遍历数组的循环更加容易。例如对于如下的循环: for(p=a[0];pa[N];p++) sum+=*p;可以简化为如下形式: for(p=a;pa+N;p++) sum+=*p;*用数组名作为指针尽管数组名可以用作指针,但不能对其赋值试图使其指向其它位置会导致错误发生: while(*a!=0) a++;/***WRONG***/这一限制对我们不会造成太大损失,可以通过将a赋值给一个指针变量,实现对其的修改: p=a; while(*p!=0) p++;*程序:数列反向(改进版)第八章的程序reverse.c实现了读入10个数,然后对其进行逆序输出。该程序将这些读入的数字存储到一个数组中,并利用下标来访问数组中的元素。reverse3.c是利用指针的算术运算取代数组下标运算后,得到的改进版本。?*reverse3.c?/*Reversesaseriesofnumbers(pointerversion)*/?#includestdio.h?#defineN10?intmain(void){inta[N],*p;?printf(Enter%dnumbers:,N);for(p=a;pa+N;p++)scanf(%d,p);?printf(Inreverseorder:);for(p=a+N-1;p=a;p--)printf(%d,*p);printf(\n);?return0;}*数组型参数(改进版)当数组名被传递给函数时,总是被视为指针示例: intfind_largest(inta[],intn) { inti,max; ? max=a[0]; for(i=1;in;i++) if(a[i]max) max=a[i]; returnmax; }对fi

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档