C程序设计第六章指针初步ppt课件.ppt

C程序设计第六章指针初步ppt课件.ppt

ID:59422307

大小:139.00 KB

页数:40页

时间:2020-09-19

C程序设计第六章指针初步ppt课件.ppt_第1页
C程序设计第六章指针初步ppt课件.ppt_第2页
C程序设计第六章指针初步ppt课件.ppt_第3页
C程序设计第六章指针初步ppt课件.ppt_第4页
C程序设计第六章指针初步ppt课件.ppt_第5页
资源描述:

《C程序设计第六章指针初步ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章指针初步本章内容提要:6.1指针的概念与基本操作6.2指针与一维数组6.3字符串处理重点小结作业6.1指针的概念与基本操作6.1.1指针的概念1.什么是指针?指针是C语言的一种数据类型,该数据类型以内存地址为值,并提供了相关的一系列操作。2.使用指针的优点与缺点直接访问内存,增强了高级语言的功能编程灵活度增加不易学习、掌握和正确安全地使用好指针6.1指针的概念与基本操作(续1)3.指针的基本属性值属性:指针值即内存地址,它是一个非负整数(2)对象属性:指该地址开始(指针指向)的内存单元中存放的数据。定义

2、指针变量时,必须指定指针变量的对象类型。我们使用指针的主要目的就是通过指针访问内存中的数据。如:doublep;//指针p的对象是一个double型数据//指针p指向一个double型数据voidp;//指针p指向nothing//无值指针不能进行运算和存取操作6.1指针的概念与基本操作(续3)6.1.2指针常量与变量1.指针常量(只有三种)6.1指针的概念与基本操作(续4)2.指针变量(1)定义方法:对象类型名指针变量名;例:intp,q;doubler;chars;注意:4//VC++6.0

3、sizeof(p)=sizeof(q)=sizeof(r)=sizeof(s)=2//TC2.0说明:以VC++6.0为例,每个指针变量用于保存一个32位(4字节)内存地址。指针变量的存储长度与其对象类型无关。6.1指针的概念与基本操作(续5)(2)指针变量的初始化C语言允许用指针常量表达式对指针变量初始化.例:inta[4],p=NULL,q=a+1;#include…double(f)(double)=sin;注意:(a)不能将一个整数值直接作为内存地址对指针变量进行初始化。如:lo

4、ngp=0x410;6.1指针的概念与基本操作(续6)(b)作为一种特殊情况,C语言允许用一个字符串常量初始化一个char*型的指针变量如:chars="ABCD";变量s得到的是字符串常量第一个字符(字母A)的地址,即串首地址。6.1.3指针的基本运算与操作1.取地址运算:&L_value例:inta[5],p,q,b=15;p=&a[1];q=&b;6.1指针的概念与基本操作(续7)2.取对象运算:指针表达式例1:inta=123,p;p=&a;printf("%d",p);//则打印结果为

5、123,即变量a的值例2:inta=0x4241;charp;p=(char)&a;putchar(p);//则打印结果为A理解帮助-指针、指针变量与指针对象的关系6.1指针的概念与基本操作(续8)若有定义:doublep;charq;假设指针变量p的值(即变量p保存的地址值)为0xB8000000,表达式p表示从p保存的地址值指定的内存中取一个double型数据(即从内存地址0xB8000000开始连续取8字节单元)。若q的值也是0xB8000000,表达式q表示从q保存的地址值指定的内存中取

6、一个char型数据(即从内存地址0xB8000000开始连续取1字节单元)。若有定义:floata=0.5f,r=&a;假设变量a的存储地址为0xA0000000,则指针变量r得到的值为0xA0000000,执行初始化floatr=&a;后,有表达式r表达式a表达式r表达式&a6.1指针的概念与基本操作(续9)3.指针对象的有关操作指针对象可进行与之同类型变量的所有运算。例:inta,p=&a;p=15;/*相当于a=15*/p=2;/*相当于a=a2*/(p)++;a++;/*指针对

7、象自加减1必须用小括号*/比较*p++(p);a;++(p);++a;(p);a;p=(p)(p);/*相当于a=aa;*/scanf("%d",p);scanf("%d",&a);scanf("%d",&(p));6.1指针的概念与基本操作(续10)4.正确建立指针对象的方法(1)用已有的变量或数组空间建立对象例:inta=15,p,q,b[3];p=&a;q=&b[1];(2)用内存分配函数建立对象介绍两个函数:头文件均为stdlib.h函数原形:void

8、malloc(unsignedn)函数功能:分配n字节连续内存单元供用户使用,分配成功,返回首地址,分配失败,返回NULL。6.1指针的概念与基本操作(续11)函数原形:free(voidp)函数功能:释放由malloc分配的内存单元。自变量p给出内存块的首地址。malloc与free函数一般配对使用(有分配就应有释放).例:doublep;p=(double)malloc(8);//分配8字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。