指针变量的定义与引用

上传人:平*** 文档编号:46545058 上传时间:2018-06-27 格式:PPT 页数:16 大小:2.12MB
返回 下载 相关 举报
指针变量的定义与引用_第1页
第1页 / 共16页
指针变量的定义与引用_第2页
第2页 / 共16页
指针变量的定义与引用_第3页
第3页 / 共16页
指针变量的定义与引用_第4页
第4页 / 共16页
指针变量的定义与引用_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《指针变量的定义与引用》由会员分享,可在线阅读,更多相关《指针变量的定义与引用(16页珍藏版)》请在金锄头文库上搜索。

1、指针变量的定义与引用制作人:涂小琴 学习目标:掌握各种类型指针的定义、初 始化;掌握指针的使用方法;理解指针的 概念。 重点:变量的地址和指针概念的建立,指 针变量的定义和引用 难点:指针概念及指针变量的引用指针:就是地址,就像我们学过的整型、 实型等数据类型一样,指针也是一种数据类 型。指针变量:是一个特殊的变量,它里面存储 的数值被解释成为内存里的一个地址。指针 变量就是存放地址的变量。指针与指针变量的概念内 存图1 内存示意图内存是计算机用于存 储数据的存储器,以一个字 节作为存储单元,为了便于 访问,给每个字节单元一个 唯一的编号,第一字节单元 编号为 0,以后各单元按顺 序连续编号,

2、这些单元编号 即称为内存单元的地址。 内存地址:内存中存储单元的编号图2:变量在内存中的表示int a=5;变量的地址变量 a在内存中占了两个 字节的存储空间, 2000是这 段空间的首地址,那么 2000 就是变量 a在内存中的地址。 那么程序是怎样访问变量 a 的呢?首先,程序必须知道变量 a的地址。这就又提出了一个 新的问题,变量 a的地址放 在哪里,在程序中又是怎样 表示的?图 3 指针和指针变量的关系指针变量p 在内存中也占 有一个空间,指针变量名p 就是这个空间的名称,这个 空间里存放的不是普通的值, 而是一个地址值。从图中 可以看出,这个地址是变量 a在内存中的位置。所以我 们就

3、说这个地址或者说这个 指针指向整型变量 a,也可以 说是指针变量 p 指向整 型变量 a 。指针和指针变量变量的访问方式直接访问:是指在程序执行过程中需要访问变量值时 ,直接存取变量所占内存单元中的内容。 间接访问: 将变量的地址存放在一种特殊变量中,利用 这个特殊变量进行访问。说明:用变量名对变量的访问也属于直接访问,因为在编译后,变量名和变量 地址之间有对应关系,对变量名的访问系统自动转换成利用地址对变量的访问。图4:直接访问图5:间接访问指针变量的定义为表示指针变量和它指向的变量之间的关系,在C语 言中,用指针标示符“ * ”表示“指向”,反映指针变量与它 所指向的变量之间的联系。指针变

4、量的定义仍遵循先定义 后使用的原则,定义指针变量与前面介绍的变量定义形式 相似,都是用说明语句来实现,定义时应指明指针变量的 类型及变量名。 其定义形式为: 数据类型标识符 *指针变量名;如: int *p; /* 定义了一个指向整型变量的指针变量 p */ float *q; double *d; 在定义指针变量时同时给该变量一个初始值,称为指针变量初始化。 例如: int a=20; int *pa; pa=(int *p= printf(“a=%dn”,a); printf(“*p=%dn”,*p); /* 输出指针变量 p 指向的目标的值 */ 程序运行结果: a=18 *p=18两个

5、输出语句输出的结果相同,说明指针 变量 p 所指向的目标就是整型变量 a。 例1.输出变量的值对指针变量的引用包含两个方面:一是对指针变量 本身的引用,如对指针变量进行各种运算;二是利用指 针变量来访问所指向的目标,对指针的间接引用。 与指针相关的两个运算符:(1) 说明指针变量p指向整型变量 a,a是p 指 向的目标,可以用*p来引用 a,*p 与 a是等 价的,因此,*p 可以像普通变量一样使用。 注意:*与 scanf(“%d,%d”,p1=p2=if( ab ) /*如果ab,则交换指针*/p=p1;p1=p2;p2=p;printf(“a=%d, b=%dn”,a,b);printf(“max=%d, min=%dn”, *p1, *p2);运行情况如下:5,9a=5,b=9max=9,min=5p该“*”号是指针变量符,表示定义了两个指向整型变 量的指针变量,pi,pj没有具体的指向。而 printf(“max=%d, min=%dn”, *p1, *p2); 语句中的“*”号是对变量 pi,pj所指向单元的值的引用;谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号