12C指针课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12C指针课件

#includestdio.h int main() { int a[10]; int i; for(i=0;i5;i++) scanf(%d,a[i]); printf(\n); for(i=0;i5;i++) printf(%5d,a[i]); } #includestdio.h void main() { int a[10]; int i; for(i=0;i5;i++) scanf(%d,(a+i)); printf(\n); for(i=0;i5;i++) printf(%5d,*(a+i)); } #includestdio.h int main() { int a[5],*p; for(p=a;pa+5;p++) scanf(%d,p); printf(\n); for(p=a;pa+5;p++) printf(%5d,*p); return 0; } 7.3.2 指向多维数组元素的指针 7.3.3 数组指针 7.3.3 数组指针 7.3.3 数组指针 使用指针变量的危险1: 使用指针变量进行间接访问之前必须赋值,使其指向某一变量;否则将导致对系统或用户程序的破坏。 例:p226 2. 指针变量作为函数形参 数组名作实参 2. 实参和形参均为数组名 【15】编写一个函数avg,函数的功能是求数组中n个元素的平均值。在主函数中输入20个数据,调用函数输出平均值。 double avg(double *a,int n) /*形参指针变量*/ { double sum=0,*p; for(p=a;pa+n;p++) sum=sum+*p; return(sum/n); } double avg(double *a,int n) /*形参指针变量*/ { int i; double sum=0; for(i=0;in;i++) sum=sum+a[i]; return(sum/n); } double avg(double *a,int n) /*形参指针变量*/ { double sum=0,*p; for(p=a;pa+n;p++) sum=sum+*p; return(sum/n); } 以下两个函数等价 double avg(double a[],int n) /*形参指针变量*/ { int i; double sum=0; for(i=0;in;i++) sum=sum+a[i]; return(sum/n); } double avg(double *a,int n) /*形参指针变量*/ { int i; double sum=0; for(i=0;in;i++) sum=sum+a[i]; return(sum/n); } double avg(double a[],int n) /*形参指针变量*/ { int i; double sum=0; for(i=0;in;i++) sum=sum+a[i]; return(sum/n); } double avg(double a[],int n) /*形参指针变量*/ { double sum=0,*p; for(p=a;pa+n;p++) sum=sum+*p; return(sum/n); } 在函数调用时,系统分配一个存储单元给形参指针变量a,并将实参的值赋给形参。在函数执行时,利用下标运算符a[i](等价于*(A+i))对实参数组对应的存储单元score[i]进行间接访问. int main( ) { int a[10],i; void sort( int *A,int n); return 0; } [16]编写一个函数void strcopy(char *s,char *d),函数的功能是将d所指向的字符串复制到s所指向的字符数组中(不能使用strcpy函数)。在主函数中输入一个字符串,调用函数复制到另一个字符串中且打印出来。(输入:This is c program) #include stdio.h void strcopy(char *s,char *d) { while (*d!=‘\0’) {*s = *d ; s++,d++ ; } *s = \0 ; } int main( ) { void turn(char *c); char ch[50]; gets(ch); turn(ch); puts(ch);

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档