- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 指 针 主编:彭德林 柴方艳 C语言程序设计任务教程 ——第8章 指 针 C语言程序设计任务教程 ——第8章 指 针 C语言程序设计任务教程 ——第8章 指 针 8.6.2 指针作为函数的参数 【例8.16】输入a和b两个整数,按先大后小的顺序输出a和b。 int swap(int *p1, int *p2) /*交换指针p1、p2所指向的变量的值 */ { int p; p=*p1; *p1=*p2; *p2= p; } main() { int a, b; int *pointer_1, *pointer_2; scanf(%d,%d,a,b); pointer_1=a; pointer_2=b; if (ab) swap(pointer_1, pointer_2); printf(%d,%d ,a,b); } 8.6.3 指针作为函数的返回值—指针函数 一个函数可以返回一个整型、浮点型、字符型的数值,也可以返回指针的数据,即地址。 这种返回指针值的函数,其一般定义形式为: 函数类型 *函数名(形参表) 其中函数名之前增加*号表示这是一个指针型函数,返回值是一个指针。函数类型表示了返回的指针值指向数据的类型。 8.6.3 指针作为函数的返回值—指针函数 8.6.3 指针作为函数的返回值—指针函数 8.6.4 指向函数的指针——函数指针 8.6.4 指向函数的指针——函数指针 8.7 多级指针 8.7 多级指针 8.8 认识带参数的main函数 8.8 认识带参数的main函数 Thank You! * 8.5 指针与字符串 【例8.11】在输入的字符串中查找有无‘k’字符。 main() { char st[20],*ps; int i; printf(input a string:\n); ps=st; scanf(%s,ps); for(i=0;ps[i]!=\0;i++) if(ps[i]==k) { printf(there is a k in the string\n); break; } if(ps[i]==\0) printf(There is no k in the string\n); } 运行程序,输出结果为: input a string: a beautiful girl There is no k in the string * 8.5 指针与字符串 【例8.12】将指针变量指向一个格式字符串,用指针变量PF代替了格式串用在printf函数中,输出二维数组的各种地址表示的值。 main() { static int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; char *PF; PF=%d,%d,%d,%d,%d\n; printf(PF,a,*a,a[0],a[0],a[0][0]); printf(PF,a+1,*(a+1),a[1],a[1],a[1][0]); printf(PF,a+2,*(a+2),a[2],a[2],a[2][0]); printf(%d,%d\n,a[1]+1,*(a+1)+1); printf(%d,%d\n,*(a[1]+1),*(*(a+1)+1)); } 运行程序,输出结果为: 404,404,404,404,404 412,412,412,412,412 420,420,420,420,420 414,414 5,5 * 8.5 指针与字符串 【例8.13】要求把一个字符串的内容复制到另一个字符串中,并且不能使用strcpy函数,把字符串指针作为函数参数的使用。函数cprstr的形参为两个字符指针变量。 cpystr(char *pss,char *pds) { while((*pds=*pss)!= \0) { pds++; pss++; } } main() { char *pa=CHINA,b[10],*pb; pb=b; cpystr(pa,pb); printf(string a=%s\nstring b=%s\n,pa,pb); } 运行程序,输出结果为: string a= CHINA string b= CHINA * 8.5 指针与字符串 【例8.14】计算字符串中子串出现的次数。 #include string.h #include stdio.h main( ) { char str1[20],str2[20],*p1,*
文档评论(0)