中国高等院校计算机基础教育课程体系规划教材讲授-第6章.pptVIP

中国高等院校计算机基础教育课程体系规划教材讲授-第6章.ppt

  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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3. 用字符指针指向一个字符串 例6.12 定义一个字符指针变量并初始化,然后输出它指向的字符串。 #include iostream using namespace std; int main( ) { char *str=″I love CHINA!″; coutstrendl; return 0; } 对字符串中字符的存取,可以用下标方法,也可以用指针方法。 例6.13 将字符串str1复制为字符串str2。 定义两个字符数组str1和str2,再设两个指针变量p1和p2,分别指向两个字符数组中的有关字符,通过改变指针变量的值使它们指向字符串中的不同的字符,以实现字符的复制。 #include iostream using namespace std; int main( ) { char str1[]=″I love CHINA!″,str2[20],*p1,*p2; p1=str1;p2=str2; for(;*p1!=′\\0′;p1++,p2++) *p2=*p1; *p2=′\\0′; p1=str1;p2=str2; cout″str1 is: ″p1endl; cout″str2 is: ″p2endl; return 0; } 运行结果为 str1 is: I love CHINA! str2 is: I love CHINA! 图6.19 这个例子用来说明怎样使用字符指针。其实,对例6.13来说,用string变量来处理是十分简单的: string str1=″I love CHINA!″,str2; //定义string变量 str2=str1; //将str1复制到str2 指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。 例6.14 求a和b中的大者。 先按一般方法写程序: #include iostream using namespace std; int main( ) {int max(int x,int y); //函数声明 6.5 函数与指针 6.5.1 用函数指针变量调用函数 int a,b,m; cinab; m=max(a,b); //调用函数max,求出最大值,赋给m cout″max=″mendl; return 0; } int max(int x,int y) {int z; if(xy) z=x; else z=y; return(z); } 可以用一个指针变量指向max函数,然后通过该指针变量调用此函数。定义指向max函数的指针变量的方法是: int (*p) (int,int); p所指向的函数的形参类型 p是指向函数的指针变量 指针变量p指向的函数的类型 请将它和函数max的原型作比较 int max(int,int); //max函数原型 可以看出: 只是用(*p)取代了max,其他都一样。现在将上面程序的主函数修改如下: #include iostream using namespace std; int main( ) {int max(int x,int y); //函数声明 int (*p)(int,int); //定义指向函数的指针变量p int a,b,m; p=max; //使p指向函数max cinab; m=p(a,b); cout″max=″mendl; return 0; } 请注意第7行的赋值语句“p=max;”。此语句千万不要漏写,它的作用是将函数max的入口地址赋给指针变量p。这时,p才指向函数max。见图6.20。 图6.20 指向函数的指针变量的一般定义形式为 函数类型 (*指针变量名)(函数形参表); 在C语言中,函数指针变量常见的用途之一是作为函数的参数,将函数名传给其他函数的形参。这样就可以在调用一个函数的过程中根据给定的不同实参调用不同的函数。 在面向对象的C++程序设计

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档