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

C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第6章.ppt

C语言程序设计新视角 教学课件 作者 周幸妮 全书教案第6章.ppt

  1. 1、本文档共190页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  【主要内容】    指针的含义、使用规则及方法实例;    通过指针变量与普通变量的对比,说明其表现形式与本质含义;    指针变量与普通变量的不同之处以及使用上的相同之处;    指针与数组的关系;    指针偏移量的本质含义;    读程序的训练;    自顶向下算法设计的训练;    指针调试要点。   【学习目标】    理解并掌握指针的概念;    理解指针、数组和字符串之间的关系;    掌握指针对变量、数组的引用方法;    能够通过指针使用字符串数组。      要查看一本书中的相关内容,我们的一般做法是先查看目录,而不是直接在整本书中查找内容。书的内容在书中的位置是通过“页码”标示的。   在计算机中,所有的数据都是存放在存储器中的,为方便数据的查找,也有“数据存放位置”的概念,计算机中数据的位置是用“地址”标示的。   一般把存储器中的一个字节(8?bit)称为一个内存单元,为了方便管理与访问这些内存单元,可为每个内存单元编上号,根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址,如图6.1所示。       图6.1 内存   不同数据类型的数据所占用的内存单元数不等,如整型量占2个单元, 字符量占1个单元等。   变量a的地址是2000还是2001?   前面介绍的一个变量的三要素中的变量地址,是编译或函数调用时系统为变量分配的内存单元的编号。当一个变量占多个内存单元时,其地址规定为单元编号中最小的那个。    内存及地址   内存(Memory)也被称为内存储器,是计算机中重要的部件之一,用来暂时存放CPU中的运算数据以及与硬盘等外部存储器交换的数据,程序必须装入内存才能执行。   有4个变量,均为整型,设它们在内存中的状态如图6.2所示。其中,变量ptr的值比较特殊,是变量k的地址,我们称变量ptr是指向k的指针,简称ptr指向k。       图6.2 内存示意图   指针变量既然是变量,它就有和普通变量一样的三个要素,即变量名、变量值和单元地址。它和普通变量的类比如表6.1所示。 表6.1 变?量?三?要?素   指针的类型是什么?   由指针变量的含义可知,指针变量和普通变量唯一不同的地方在于,它的值只表示地址,而不能是有其他含义的数值。   既然指针变量的值是地址,而地址又是整数,那么指针的类型是不是就是整型呢?   在这里特别需要注意,C语言规定,指针变量的类型,是它指向单元的数据的类型。如前面的ptr指针,它的类型就是变量k的类型,k是整型,则ptr的类型为int;若k是实型,则ptr的类型为float型。      指针是一种特殊的变量,和普通变量相比,它的值是地址;它的类型是它指向单元的数据的类型。   在指针变量名中包含字母ptr,这样可以有很醒目的提示作用。      定义一个指针变量和普通变量一样,只不过要在变量名前加上一个星号*,*表示这是一个指针变量,指针变量的定义形式如下:      类型说明符 *变量名;   变量类型说明符表示本指针变量所指向的存储单元的数据类型。   例如: int *p1;表示p1是一个指针变量,它的值是某个整型变量的地址,或者说p1指向一个整型变量。至于p1究竟指向哪一个整型变量, 应由向p1赋予的地址来决定。   再如:   float *p3; /*p3是指向浮点变量的指针变量*/   char *p4; /*p4是指向字符变量的指针变量*/   应该注意的是,一个指针变量只能指向同类型的变量,如P3 只能指向浮点变量,不能时而指向一个浮点变量, 时而又指向一个字符变量。    空类型void问题   (1) 空类型:其类型说明符为void。void类型不指定具体的数据类型,主要用于表示函数没有返回值和通用指针。   (2) 空类型函数:在第5章“函数”中,我们已经了解了空类型函数的含义。在调用函数值时,通常应向调用者返回一个函数值,这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给予说明。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。   (3) 空类型指针:也称通用类型指针或无确切类型指针,其含义是这个指针指向的内存区域的数据可以是C允许的任何类型。   为什么要设置void类型的指针呢?这是由于指针使用时,在某些情形下,指针指向的存储单元无法事前确定要存放什么类型的数据,因此需要专门设计这种解决机制。   比如malloc库函数,功能是在程序运行的过程中,动态地申请一片连续的存储区域,返回这个存储区的起始地址。作为malloc函数的设计者,事前无法确

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档