网站大量收购独家精品文档,联系QQ:2885784924

第7章_指针2.ppt

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

第7章 一、教学目的 1.掌握指针的概念、定义和引用 2.掌握数组指针和指向数组指针变量的使用 3.正确使用指向字符串的指针变量 4. 正确使用指针变量作函数参数及返回指针值的函数 5.了解指针数组和指向指针的指针概念及使用方法。 三、教学难点 1. 指向二为维数组的指针变量 2. 指向函数的指针变量和返回指针值的函数 3. 指针数组和指向指针的指针 7.1指针与指针变量 §7.1.2 指针变量的定义、赋值和引用 回顾数组中的例子: float average(int x[ ],int n) { int i;float ave; ave=x[0]; for(i=1;i<n;i++)   ave+=x[i]; return(ave/n); } 库函数提供动态地开辟和释放存储单元的有关函数: malloc函数 其函数原型为void *malloc(unsigned int size); 作用是在内存的动态存储区中分配一个长度为size的连续空间。此函数的值(即“返回值”)是一个指向分配域起始地址的指针(类型为void)。如果此函数未能成功地执行(例如内存空间不足),则返回空指针(NULL)。 (2) free函数 其函数原型为void free(void *p);其作用是释放由p指向的内存区,使这部分内存区能被其他变量使用。p是最近一次调用malloc函数或calloc时返回的值。free函数无返回值. 说明:以前的C版本提供的malloc函数得到的是指向字符型数据的指针。 ANSI C提供的malloc函数规定为void*类型。(使用时需要强制转换) 使用前要在函数前加入: #include “stdlib.h” 或 #include “alloc.h” #include stdio.h #include “stdlib.h” void main() {float average(int x[ ],int n,int *pmax,int *pmin); int*a=NULL ,num,i; float ave, max, min; printf(“number of element:”);scanf(“%d”,num); a=(int*)malloc(sizeof(int) * num); if(a==NULL) {printf(“out of memory!\n”);exit(1);} for(i=0;i<N;i++)   scanf(″%d″,a[i]); ave=average(a,N,max,min); printf(“ave:%.2f,max:%d,min:%d\n”,ave,max,min); free(a); } 实参与形参的对应关系有以下4种情况: (1) 形参和实参都用数组名,如: void main() void f(int x[ ],int n) { int a[10]; { … … f(a,10); } } 7.4.1. 指针作函数参数 7.4 指针与函数 形参和实参都用数组名 (2) 实参用数组名,形参用指针变量。如: void main() void f(int *x,int n) {int a[10]; { … … f(a,10); } } (3)实参形参都用指针变量。例如: void main() void f(int *x,int n) {int a[10], *p=a; { ┇ ┇ f(p,10); } } 实参用数组名,形参用指针变量 实参形参都用指针变量 (4) 实参为指针变量,形参为数组名。如: void main() void f(int x[ ],int n) {int a[10],*p=a; {

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档