1 / 68
文档名称:

c语言数组与指针-指针篇.ppt

格式:ppt   大小:874KB   页数:68页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言数组与指针-指针篇.ppt

上传人:ranfand 2016/10/13 文件大小:874 KB

下载得到文件列表

c语言数组与指针-指针篇.ppt

文档介绍

文档介绍:指针的概念2指针概述指针是一种数据类型。所谓指针,就是指存放数据的内存地址。指针变量是一种变量,该变量中存放的数据就是指针类型的数据。对一个变量或数组元素来说,可以通过变量名或数组名[下标]来引用,也可以通过指针变量来引用,但需要事先将指针变量“指向”变量或数组,所谓“指向”就是将变量或数组的地址存放到指针变量中3指针和变量(一)、指针1、内存单元和地址内部存储器是由多个内存单元组成的,每个内存单元都有自己独有的地址,称为内存单元地址。2、变量与地址程序中可以用变量来存放各种数据,因此每个变量都需要分配连续的内存单元。由于数据类型的不同,每个变量需要分配的内存单元数目也不同。例如,字符型变量需要占用1个内存单元;短整型变量需要占用连续的2个内存单元;单精度变量需要占用连续的4个内存单元;双精度变量需要占用连续的8个内存单元。4当一个变量只占用一个内存单元时,内存单元的地址就是变量的地址;当变量占用连续的若干个内存单元时,最前面一个单元的地址就是该变量的地址。例如,有一条定义语句“int i=3,j=5;float f;”,给它分配的内存单元如图1所示,而记录下来的变量与地址对照表如图2所示。变量名数据类型地址i整型2001j整型2003 f单精度20053520012002200320042005200620072008整型变量i整型变量j单精度变量f图1变量与地址对照表图25通过变量名查取变量的地址,再从变量对应地址的内存单元中取得值或将某值存入变量对应地址的内存单元中称为直接存取方式。3、数组与地址对一个数组来说所分配的内存单元必须是连续的并且是按顺序对应数组元素的。每个数组元素也要占用连续的内存单元。数组类型不同,每个数组元素占用的内存单元数也不同。数组占用的总单元数等于数组长度×每个数组元素占用的内存单元数。6当一个数组元素只占用一个内存单元时,内存单元的地址就是该数组元素的地址;当数组元素占用若干个连续的内存单元时,最前面一个单元的地址就是该数组元素的地址。当一个数组占用连续的若干个内存单元时,最前面的单元地址称为数组的首地址,也是第一个数组元素的地址。7每个数组元素的地址可以通过下列公式求得:数组元素a[i]的地址=数组首地址+i×数组元素的数据类型所占用单元数对源程序进行编译时,每遇到一个数组,按其类型和长度分配内存单元,同时记录数组名、数据类型、数组长度、数组首地址。例如有一条定义语句“int a[3]={1,2,3};”,给它分配的内存单元如图3所示,而记录下来的数组与地址对照表如图4所示。8地址内存单元整型数组元素a[0]整型数组元素a[1]整型数组元素a[2]123300030013002300330043005图3数组与地址对照表数组名数据类型长度首地址a整型33000图49(二)、指针变量由于存放地址的变量像一个指针,指向要存取值的变量,所以将这种变量称为“指针变量”。由于地址是一种特殊的数据类型,所以存放地址的指针变量和存放字符型、整型、实型数据的变量是不同类型的变量。10