好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

指针指针数组、多级指针、动态指针.ppt

22页
  • 卖家[上传人]:宝路
  • 文档编号:47787631
  • 上传时间:2018-07-04
  • 文档格式:PPT
  • 文档大小:450.15KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1数组指针——以此类推v一维数组名是“列指针类型”----“元素指针类型”›指针变量的定义:int *p;v二维数组名是“行指针类型”›指针变量的定义:int (*p)[4] ;v三维数组名是“页指针类型”›指针变量的定义:int (*p)[3][4] ;v四维数组名是“块指针类型”›指针变量的定义:int (*p)[3][4][5] ;圆括号是 必须的2问题的提出v变量是用于存放单个数据的v数组是用于存放“同类型”的多个数据的›方便循环控制结构的编程v指针变量是用于存放单个地址号的v“同类型”的多个地址号是否能够集中存储在一 起构成“指针数组”呢?3v元素均为指针类型数据的数组,称为指针数组 v定义形式为: 类型关键字 *数组名[数组长度];v例如char *pStr[5]; pStrpStr[5][5]* *charchar四、指针数组注意 没有 圆括号4例: 二维字符数组void main() {int i;char str[][10] = {“Pascal“,“Basic“,“Fortran“,“Java“,“Visual C“};for (i=0; i 1) { printf(“The other arguments are following:\n“); for (i = 1; ix[j])vj=i;vreturn(v}vvoid main()v{vint a[5]={3,6,1,9,12},*max;vmax=findMax(a);vprintf(“max[%d]=%d“,max-a,*max);v}12五、 多级指针和动态指针1.概念及定义v定义: 指向指针的指针v一级指针:指针变量中存放目标变量的地址p1int *p2;int i=3;p2=p1=**p1=5;二级指针:指针变量中存放一级指针变量的地址例 int *p; int i=3;p=*p=5;(2) 赋值p=pp= (3)引用方法 pp的值 *pp的值 **pp的值多级指针定义形式14动态分配内存152.动态指针v为什么要动态分配内存?当事先不知道所需要处理的数据有多大时, 使 用静态数组, 若数组开辟得太大, 则浪费内存资 源(甚至可能不成功); 若开辟得太小, 又不能 满足计算需要。

      采用动态分配内存的方法,使用 完毕,再释放内存,以备其它程序使用C语言中提供了几个标准函数,以实现内存的 分配和释放16动态分配内存v#include v#include vvoid* malloc(unsigned int size);›向系统申请大小为size的内存块,把首地址返回如果申请不成功 ,返回NULLvvoid* calloc(unsigned int num, unsigned int size);›向系统申请num个size大小的内存块,把首地址返回如果申请不 成功,返回NULLvvoid free(void* p);›释放由malloc()和calloc()申请的内存块p是指向此块的指针vvoid*类型的指针可以指向任意类型的变量17动态数组v一维动态数组int *p = NULL; printf(“Please enter array size:“); scanf(“%d“, p = (int *) malloc(n * sizeof (int));… p[i] //像使用一维数组一样使用 …v二维动态数组 printf(“Please enter array size m,n:“); scanf(“%d,%d“, p = (int *) calloc(m * n, sizeof (int)); … p[i*n+j]); //像使用一维数组一样使用 …18函数指针(选学)1.函数指针的概念一个函数在编译时,被分配了一个入口 地址,这个地址就称为该函数的指针。

      可以用一个指针变量指向一个函数,然后通过 该指针变量调用此函数192.指向函数的指针变量 (1)定义格式函数类型 (*指针变量)( );注意:“*指针变量”外的括号不能缺,否则成了返回指针值 的函数例如,int (*fp)( ); /* fp为指向int函数的指针变量*/(2)赋值函数名代表该函数的入口地址因此,可用函数名给指向函数的指针变量赋值指向函数的指针变量=[ 注意:函数名后不能带括号和参数;函数名前的“ for ( i=0;iy; } int xiaoyu(int x,int y) { return x

      点击阅读更多内容
      相关文档
      2024年统编版7年级上册道德与法治课件 3.8.2 敬畏生命.pptx 2024年统编版7年级上册道德与法治课件 1.2.2 做更好的自己.pptx 2024秋新人教PEP英语3年级上册课件 Unit 4 PartA(1) Let’s talk & Ask and answer.pptx 2024秋新人教版化学9年级上册教学课件 第5单元化学反应的定量关系 课题1 质量守恒定律.pptx 2024秋新人教版化学9年级上册教学课件 第1单元走进化学世界 课题2 化学实验与科学探究 第3课时 走进科学探究.pptx 2024秋新人教版化学9年级上册教学课件 第1单元走进化学世界 课题1 物质的变化和性质 第2课时 化学性质和物理性质.pptx 2024年统编版7年级上册道德与法治 第102课 端正人生态度 第1课时 拥有积极的人生态度教学课件.pptx 2024秋新人教版地理7年级上册教学课件 1.2.3 地球与地球仪(第3课时).pptx 2024秋新人教版化学9年级上册课件 第1单元走进化学世界 课题2 化学实验与科学探究 第3课时 走进科学探究.pptx 2024年统编版7年级上册道德与法治课件 4.11.1 探问人生目标.pptx 2024年统编版7年级上册道德与法治 3.8.2 敬畏生命 教学课件.pptx 2024秋新人教版地理7年级上册课件 1.2.3 地球与地球仪(第3课时).pptx 2024年统编版7年级上册道德与法治 3.8.1 认识生命 教学课件.pptx 2024秋新人教版化学9年级上册课件 第5单元化学反应的定量关系 课题1 质量守恒定律.pptx 2024年统编版7年级上册道德与法治 第103课 实现人生价值 第2课时 在奉献中成就精彩人生教学课件.pptx 2024秋新人教版化学9年级上册课件 第5单元化学反应的定量关系 课题2 化学方程式 第1课时 化学方程式的意义及书写.pptx 2024秋新人教版地理7年级上册教学课件 2.3 地图的选择和应用.pptx 2024年统编版7年级上册道德与法治课件 第103课 实现人生价值 第2课时 在奉献中成就精彩人生.pptx 2024秋新人教版化学9年级上册课件 第6单元 碳和碳的氧化物 课题3 2氧化碳的实验室制取.pptx 北师大版(2024)新教材七年级生物下册第四单元第10章第3节《激素调节》精品课件.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.