网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CHS C语言程序设计 第11章 指针 学习目标 数组与指针 指针操作 传递和使用数组地址 使用指针操作字符串 数组与指针 数组名保存的是数组的首地址,相当于一个指针常量。 int grade[] = {98, 87, 92, 79, 85}; int *gPtr = grade[0]; 98 87 92 79 85 grade grade[0] grade[1] grade[2] grade[3] grade[4] gPtr *gPtr *(gPtr+1) *(gPtr+2) *(gPtr+3) *(gPtr+4) *grade *(grade+1) *(grade+2) *(grade+3) *(grade+4) gPtr[0] gPtr[1] gPtr[2] gPtr[3] gPtr[4] 程序11.1,11.2,11.3 grade grade[i] ? grade[0] ? gPtr ? *(grade+i) ? gPtr[i] ? *(gPtr+i) 说明 在很多情况下,指针与数组名是可以互换的。 由于数组名是常量,数组名不能赋值。 grade = grade[2];? 指针运算 比较运算符:== != = = 加减运算符:+ - ++ -- 赋值运算符:= += -= 当指针加(减)一个整数n时,相当于地址增加(减少) n×sizeof(所指类型) 程序11.4,11.5 98 87 92 79 85 grades gPtr gPtr+1 gPtr+2 gPtr+3 gPtr+4 传递数组地址 int findMax(int vals[], int numEls) { int i, max; max = vals[0]; for (i = 1; i numEls; i++) if (max vals[i]) max = vals[i]; return max; } int findMax(int *vals, int numEls) { int i, max; max = vals[0]; for (i = 1; i numEls; i++) if (max vals[i]) max = vals[i]; return max; } ? int findMax(int *vals, int numEls) { int i, max; max = *vals++; for (i = 1; i numEls; i++, vals++) if (max *vals) max = *vals; return max; } ? int findMax(int *vals, int numEls) { int i, max; max = *vals; for (i = 1; i numEls; i++) if (max *(vals + i)) max = *(vals + i); return max; } ? 使用指针处理字符串 void strcopy(char s1[], char s2[]){ int i = 0; while (s2[i] != \0) { s1[i] = s2[i]; i++; } s1[i] = \0; } void strcopy(char s1[], char s2[]){ int i = 0; while (s1[i] = s2[i]) { i++; } } void strcopy(char s1[], char s2[]){ int i = 0; while (s2[i]) { s1[i] = s2[i]; i++; } s1[i] = \0; } ? ? void strcopy(char *s1, char *s2){ while (*s1 = *s2) { s1++; s2++; } } ? void strcopy(char *s1, char *s2){ while (*s1++ = *s2++); } ? 指针小结 (1)首先要准确地弄清楚指针的含义。指针就是地址,凡是出现“指针”的地方,都可以用“地址”代

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档