《C语言程序设计教学资料》chap10_2s.pptVIP

  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文档。上传文档
查看更多
三、void指针变量 ANSI新标准增加了一种void型指针,即可定义一个指针变量,但不指定它指向哪一种类型数据的。 例如, char *p1; void *p2; …… p1=(char*)p2; * * 例如,要存储一周内7天的名称,用下标方式必须使用一 个7*10的二维数组。 char week[7][10]={Sunday, Monday, Tuesday,\ Wednesday, Thursday, Friday, Saturday }; * * * * S u n d a y \0 Mo n d a y \0 T u e s d a y \0 We d n e s d a y \0 T h u r s d a y \0 F r i d a y \0 S a t u r d a y \0 由于数组每行的长度是相同的,浪费许多内存单元。 存储示意图 用指针数组则可以按实际字符数存储。 char *week[7]={Sunday, Monday, Tuesday,\ Wednesday, Thursday, Friday, Saturday }; * * Week 字符串 week[0]→Sunday\0 week[1]→Monday\0 …… week[6]→Saturday\0 * * 例题1,先存储一个班学生的姓名,从键盘输入一个姓名,查找该人是否为该班学生? 思路:先设一个指针数组,使每个元素指向一个字符串;然后输入一个需要查找的名字(字符串),将此名字与班上已有的名字相比较,如果与其中之一相同,则使flag变量置1(表示已找到),如果在名单上找不到此名字则flag保持为0,最后根据flag的值决定输出的信息。 * * #include string.h void main( ) { int i, flag=0; char *name[5]={one, two, three, four, five}; char sename[20]; gets(sename); for(i=0; i5; i++) if(strcmp(name[i], sename)==0) flag=1; puts(sename); if(flag) printf(is in this class.\n); else printf(is not in this class.\n); getch( ); } * * 例题2,将若干字符串按字母顺序(由小到大)输出。 例题3,P203 8.15 * * name指针数组 字符串 name[0] → one name[1] → two name[2] → three name[3] → four name[4] → five name[5] → six * * name指针数组 字符串 name[0] one name[1] two name[2] three name[3] four name[4] five name[5] six 思路:利用指针数组,通过改变指针数组中各元素的指向达到目的。 #include stdio.h main( ) { void sort(char *name[ ],int n); void print(char *name[ ], int n); char *name[ ]={one,two,three,four,five,six}; sort(name, 6); print(name, 6); } void print(char *name[ ], int n) {int i; for(i=0; in; i++) puts(name[i]); } * * void sort(char *name[ ], int n) {char *temp; int i, j, k; for(i=0; in-1; i++) { k=i; for(j=i+1; jn; j++) if(strcmp(name[k], name[j])0) k=j; if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp; } } } * * 思考:若要任意输入若干个字符串, 怎么办? * * char *name[

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档