ImageVerifierCode 换一换
格式:PPT , 页数:19 ,大小:498KB ,
文档编号:5787086      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5787086.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《C语言程序设计》课件第13讲-指针深入.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《C语言程序设计》课件第13讲-指针深入.ppt

1、问问 题题 引引 出出1.1.数组是连续存放的多变量数组是连续存放的多变量3.3.如果令指针指向数组开始位置,然后移动指针,就可以处理如果令指针指向数组开始位置,然后移动指针,就可以处理数组中的数据数组中的数据 2.2.数组中元素的位置可以通过下标来确定数组中元素的位置可以通过下标来确定 这就是本次课要讨论的第一部分内容:这就是本次课要讨论的第一部分内容:使用指针处理数组使用指针处理数组 4.4.数组是大小固定的数据结构,运行时不能改变数组是大小固定的数据结构,运行时不能改变 5.5.不适合数据变化频率很大的问题不适合数据变化频率很大的问题 解决数据变化频率很大的问题就要使用动态内存分配解决数

2、据变化频率很大的问题就要使用动态内存分配 主主 要要 内内 容容6.4 6.4 指针与数组指针与数组目的要求目的要求复习思考题复习思考题6.5 6.5 动态内存分配动态内存分配6.4.1 6.4.1 指针与一维数组指针与一维数组6.4.2 6.4.2 指针与二维数组指针与二维数组6.4.1 6.4.1 指针与一维数组指针与一维数组(1)(1)数组是个数固定、按顺序存放的多个变量数组是个数固定、按顺序存放的多个变量(2)(2)数组名是地址常量数组名是地址常量1.1.数组的有关知识回顾数组的有关知识回顾u方法方法1:1:数组名数组名00u方法方法2:2:*数组名数组名2.2.访问数组首元素的两种方

3、法访问数组首元素的两种方法3.3.用指针指向数组元素用指针指向数组元素(1)(1)指向首元素指向首元素方法方法1:1:指针名指针名 =数组名数组名方法方法2:2:指针名指针名 =&=&数组名数组名00(2)(2)指向任意元素指向任意元素指针名指针名 =&=&数组名数组名ii举举例例若有以下定义若有以下定义:int int a5=1,2,3,4,5;a5=1,2,3,4,5;int int*p1=a,p1=a,*p2=&a3;p2=&a3;a0a0a1a1a2a2a3a3a4a412345p1p24.4.指针算术运算指针算术运算(1)(1)指针加、减整数运算指针加、减整数运算指针指针加加或或减减

4、整数整数n n运算,是获得了当前位置运算,是获得了当前位置前方前方或或后方后方第第n n个元素的地址个元素的地址int a5=1,2,3,4,5;int a5=1,2,3,4,5;int int*p=a;p=a;则:则:p+i a+i&aip+i a+i&ai(2)(2)指针自增、自减运算指针自增、自减运算使指针使指针向前向前或或向后向后移动一个元素的位置移动一个元素的位置举举例例若有以下定义若有以下定义:int int a5=1,2,3,4,5;a5=1,2,3,4,5;int int*pa=&a2;pa=&a2;int int b5;b5;int int*pb=b;pb=b;intint

5、y;y;则单独执行下面的语句的作用是则单独执行下面的语句的作用是:6.4.2 6.4.2 指针与二维数组指针与二维数组一个二维数组一个二维数组aMNaMN可以等效成一个含行数可以等效成一个含行数(M)(M)个元素的一维数个元素的一维数组,其中每个元素又是一个含列数组,其中每个元素又是一个含列数(N)(N)个元素的一维数组个元素的一维数组1.1.二维数组的等效关系二维数组的等效关系2.2.行指针行指针(1)(1)可以在行间移动的指针叫可以在行间移动的指针叫行指针行指针(2)(2)行指针定义的格式行指针定义的格式数据类型数据类型 (*指针名指针名)行中元素个数行中元素个数;3.3.指针数组指针数组

6、(1)(1)类型为指针型的数组叫类型为指针型的数组叫指针数组指针数组(2)(2)定义格式定义格式数据类型数据类型 指针名指针名 元素个数元素个数;(3)(3)使每个元素指向一个行就转化为用指针处理一维数组的问题使每个元素指向一个行就转化为用指针处理一维数组的问题如如:intint *p3;p3;/*定义含定义含3 3个元素的指针数组个元素的指针数组p p*/6.5 6.5 动态内存分配动态内存分配1.1.两种分配空间的方法两种分配空间的方法 u静态分配静态分配:使用语句在源程序中申请使用语句在源程序中申请u动态分配动态分配:程序运行后通过库函数分配程序运行后通过库函数分配2.C2.C程序使用内

7、存情况程序使用内存情况 6.5.2 6.5.2 内存管理函数内存管理函数(1)C(1)C语言的动态内存分配由四个内存管理函数实现语言的动态内存分配由四个内存管理函数实现1.1.概述概述(2)(2)他们都包含在他们都包含在stdlib.hstdlib.h中中2.malloc2.malloc函数函数(1)(1)函数原型函数原型(2)(2)函数功能函数功能 void void*mallocmalloc(unsigned int size);(unsigned int size);n分配分配sizesize个字节的个字节的内存块内存块n返回一个指向该内存块首字节的返回一个指向该内存块首字节的voidv

8、oid型型的指针的指针(3)(3)注意事项注意事项 正常返回时为分配空间的首地址;异常返回时为空指针正常返回时为分配空间的首地址;异常返回时为空指针(NULL)(NULL)要把它赋给某种类型的指针就必须要进行要把它赋给某种类型的指针就必须要进行强制类型转换强制类型转换实参经常用实参经常用sizeofsizeof运算得出运算得出 如:如:pInt=(int pInt=(int*)malloc()malloc(sizeof(int)sizeof(int););通过检查其返回值是否为通过检查其返回值是否为NULLNULL来确定空间是否顺利分配来确定空间是否顺利分配 3.free3.free函数函数(

9、1)(1)函数原型函数原型(2)(2)函数功能函数功能 void void freefree(void(void*ptr);ptr);把由指针把由指针ptrptr指向的内存空间交还给堆指向的内存空间交还给堆 目目 的的 要要 求求1.1.掌握有关指针运算的含义掌握有关指针运算的含义2.2.掌握使用指针处理一维数组的方法掌握使用指针处理一维数组的方法3.3.理解行指针和指针数组的概念理解行指针和指针数组的概念4.4.掌握行指针和指针数组处理二维数组的方法掌握行指针和指针数组处理二维数组的方法复习思考题复习思考题说明:题目前面的说明:题目前面的*代表问题的重要程度代表问题的重要程度*2.2.指针运

10、算都有哪些指针运算都有哪些?各有什么作用各有什么作用?*3.3.如何让指针指向一维数组的首元素如何让指针指向一维数组的首元素?*1.1.解释下列名词解释下列名词*4.4.若指针指向了首元素若指针指向了首元素,则指针与元素间有什么关系则指针与元素间有什么关系?*5.5.如何定义行指针如何定义行指针?如何使用行指针处理二维数组如何使用行指针处理二维数组?*6.6.如何定义指针数组如何定义指针数组?如何使用行指针处理二维数组如何使用行指针处理二维数组?(1)(1)指针数组指针数组 (2)(2)行指针行指针 (3)(3)静态内存分配静态内存分配 (4)(4)动态内存分配动态内存分配*7.7.一个一个C C程序使用内存的情况如何程序使用内存的情况如何?*8.8.动态管理函数有哪些动态管理函数有哪些?如何使用?如何使用?

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|