计算机程序设计语言C第7章 指针.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;7.1通过地址找同学;;2.指针类型 C语言中,一个变量x的首地址称为该变量的指针,记做&x,即在变量名前加取地址运算符“&”,例如变量a的首地址是2008H,就说a的指针是2008H。 指针类型是指,若有变量p,类型为X(如int型),则指向X类型变量的指针类型用:    X *p; X称为该指针类型的基类型。 如:int *p;;3.指针变量 指针变量是用来存放变量首地址的变量,是一个特殊的变量,它里面存储的“值”为一个变量的地址,是内存中一个具体地址。 例如:int *p1,*p2;   char *ch; int x,y; char c=’a’; 如有操作: p1=x; p2=y; ch=c; x=2; y=4; c=‘a’;区分指针变量与变量的指针两个概念 ;7.2 按正向和反向顺序打印字符串;7.2.2 指针变量的定义 ;在指针变量定义时需要注意: ;在指针变量定义时需要注意:;在指针变量定义时需要注意:;7.2.3 指针变量的访问 ;7.2.3 指针变量的访问;7.2.4 指针变量的引用 ;2.指针变量的赋值与引用 ;注:;2.指针变量的赋值与引用;2.指针变量的赋值与引用;2.指针变量的赋值与引用;3.指针的操作 ;3.指针的操作;3.指针的操作;例7.1 指针运算实例;例7.2 从键盘输入两个数,比较大小,按照先小后大顺序输出。;例7.2 从键盘输入两个数,比较大小,按照先小后大顺序输出。;7.2.5 程序解析;7.3 指向数组的指针;7.3.1数组的指针和指向数组的指针变量;7.3.1数组的指针和指向数组的指针变量;7.3.2通过指针引用数组元素;7.3.2通过指针引用数组元素;例7-5 输出一维数组中所有元素的值。 ;7.3.3 指向多维数组的指针和指针变量 ;例7-6 使用指针变量输出二维数组的元素值。;指向一维数组的指针变量或行指针变量 ;7.3.4 动态内存分配;例7.8 动态内存的分配与释放。;7.4 字符串的复制 ;输入两个字符串,比较是否相等,相等输出Yes,不相等则输出No.;7.4.2 字符数组和字符指针区别 ;7.4.2 字符数组和字符指针区别;7.4.4 程序解析;7.5 指针数组与指向指针的指针 7.5.1指针数组 数组元素是指针的数组,称为指针数组。数组指???与指针数组的区别如图7-12和7-13所示: ;一维指针数组的定义: 类型名 *数组名[数组长度]; 例如: int *p[10]; char *p[10]; 例如,存储字符串{ C , Visual Basic ,VC++ ,Java }。如果使用二维数组定义b[4][13]:;如果使用字符指针数组存储,如图7-15所示:;7.6 指针与函数;参考程序:;;程序解析;学生成绩分析;程序解析;int analyse(int num,double score[ ],double *paverage,double *phigh,double *plow) { int i; double average, high, low; if(num = 0) return 0;/* 如果人数少于0,返回分析失败 */ high = score[0]; low = score[0]; average = score[0]; for(i=1; inum; i++) { average += score[i]; high = (score[i] high) ? score[i] : high; low = (score[i] low) ? score[i] : low; } average /= num; *paverage = average; *phigh = high; *plow = low; return 1; /* 分析成功返回1 */ } ;main( ){ int n=10 ,rtn; static double allscore[10] = {80, 82.5, 75, 59, 70.5, 90, 92, 81, 90.5, 76}; double averagescore, highscore, lowscore; rtn = analyse(n, allscore, averagescore, highscore, lowscore); if( rtn == 0 ) return; printf(平均成绩:%3.2f\n, averagescore); printf(最高分:%3.2

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档