c语言程序设计第7章指针.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文档。上传文档
查看更多
综合应用例题 已知N种商品的单价,用起泡法对商品单价从小到大排序。 #define N 10 int main(){ void sort(float *b,int n); float a[N]; int i; for(i=0;iN;i++) printf(“%.2f”,a[i]); return 0; } void sort(float *b,int n){ int i,j;float t; for(i=1;in;i++){ for(j=0;jn-ii;j++) if(*(b+j)*(b+j+1]){ t=*(b+j); *(b+j)=*(b+j+1); *(b+j+1)=t; } } } 已知N个公司都在销售同样的商品,已知这N个公司M种商品的价格信息,编写函数求每类商品中价格最高及最低的价格、其所在公司的序号及商品序号。 #include stdio.h #define N 3 #define M 4 int main(){ float a[M][N],m1[M],n1[M]; int i,j,m2[M],n2[M]; float *p; p=*a; for(i=0;iM;i++) for(j=0;jN;j++) scanf(“%f”,a[i][j]); } for(i=0;iM;i++){ m2[i]=n2[i]=i;m1[i]=n1[i]=*p; for(j=0;jN;j++){ if(m1[i]*p){ m1[i]=*p;m2[i]=j; } if(n1[i]*p){ n1[i]=*p;n2[i]=j; } p++: } } for(i=0;iM;i++) printf(“\n%d high price:%f,%d”,i,m1[i],m2[i]); for(i=0;iM;i++) printf(“\n%d low price:%f,%d”,i,n1[i],n2[i]); return 0; } CPU部分不是我们要关心的内容,主要来看看内存 这是一个内存结构的示意图,数据存储在每一个内存单元中 现有的数据访问的方式是通过变量访问, 说明:NULL是一个空指针,表示该指针变量的值没有意义。作用是为了避免对没有被初始化的指针变量的非法引用。NULL 的定义在“stdio.h”中。 * 指针必须先赋值后使用 例如: int *pa,*pb,*pc; scanf(%d%d%d,pa,pb,pc); 应写成: int a,b,c,*pa,*pb,*pc; pa=a,pb=b,pc=c; scanf(%d%d%d,pa,pb,pc); * 注意:++和*优先级一样 数组名代表数组的首地址 其它方式a[0] * 7.6 指针数组和指向指针的指针 7.6.1 指针数组的概念 一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针数组中的每一个元素都相当于一个指针变量。 一维指针数组的定义为: 类型名 *数组名[数组长度]; 例如:int *p[4]; 应用:指针数组通常用来处理字符串问题 * 指针数组在处理字符串方面的一些特点 1、精简的内存分配空间 图示 2、快速的数据操作能力 不必对数组中的每一个元素进行操作 例题: 将若干字符串按字母顺序(由小到大)输出。 * * #include stdio.h #include string.h void main() { char *name[]={“Follow me”,“BASIC”,“Great Wall″,”FORTRAN“,”Computer design“};/*初始化方式*/ int n=5; sort(name,n); print(name,n); } * void sort(char *name[], int n) {char *temp; int i,j,k; for(i=0;i<n-1;i++)  {k=i;   for(j=i+1;j<n;j++)  if(strcmp(name[k],name[j])0)k=j;   if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp;}   } } 选择排序(指针数组做函数参数)

文档评论(0)

别拿青春赌明天 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档