下载此文档

C语言从入门到精通 第8章ppt课件.ppt


文档分类:IT计算机 | 页数:约74页 举报非法文档有奖
1/74
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/74 下载此文档
文档列表 文档介绍
返回
第8章 指针
指针与指针变量
C语言程序设计教程
指针与函数
指针与数组
指针与字符串
指针数组于命令行参数
程序举例
1
完整版课件
指针与指针变量
指针的概念

内存地址:内存是计算机用于存储数据的存储器,以一个字节作为存储单元,为了便于访问,给每个字节单元一个唯一的编号,第一字节单元编号为0,以后各单元按顺序连续编号,这些单元编号称为内存单元的地址 。
变量地址:变量所分配存储空间的首字节单元地址(字节单元编号)。
下一页
第8章 指针
上一页
2
完整版课件
2. 变量的三要素:名字、类型与值
每个变量都通过变量名与相应的存储单元相连系,具体分配哪些单元给变量,由C编译系统完成变量名到对应内存单元地址的变换。
变量分配存储空间的大小由类型决定。
变量的值则是指相应存储单元的内容。

直接存取:把直接按变量名或地址存取变量值的方式称为 “直接存取”方式。
间接存取:通过定义一种特殊的变量专门存放内存或变量的地址,然后根据该地址值再去访问相应的存储单元 。
下一页
第8章 指针
上一页
3
完整版课件
系统为特殊变量p(用来存放地址的)分配的存储空间地址是4800,p中保存的是变量a的地址,即4000,当要读取a变量的值12345时,不是直接通过a变量,也不是直接通过保存12345的内存单元的地址4000去取值,而是先通过变量p得到p的值4000,即a的地址,再根据地址4000读取它所指向单元的值12345。
这种间接的通过变量p得到变量a的地址,再存取变量a的值的方式即为“间接存取”。
通常称变量p指向变量a,变量a是变量p所指向的对象

4000
12345
4000
4002
4800
p
a
p(4800)
p(4800)
a(4000)
4000
12345
4000
间接存取示意图右
下一页
第8章 指针
上一页
4
完整版课件

在C语言中,用指针来表示一个变量指向另一个变量这样的指向关系。
所谓指针即地址。
一个变量的指针即该变量的地址,如4000就是指向变量a的指针。
指针变量:专门存放地址的变量,如p即是一个指针变量,它存放的是a的地址4000。
下一页
第8章 指针
上一页
指针变量的定义与初始化
1. 指针变量的定义
类型标识符 *指针变量名;
5
完整版课件
在指针变量定义中,*是一个说明符,它表明其后的变量是指针变量,如p是指针变量,而不要认为“*p”是指针变量。
指针变量定义时指定的数据类型不是指针变量本身(变量存放的值)的数据类型,而是指针变量所指向的对象(或称目标)的数据类型
指针变量存放的是所指向的某个变量的地址值,而普通变量保存的是该变量本身的值
指针变量并不固定指向一个变量,可指向同类型的不同变量
下一页
第8章 指针
上一页
例:float *p1; (定义p1为指向实型变量的指针变量)
char *p2; (定义p2为指向字符型变量的指针变量)
6
完整版课件
(1) 指针运算符与地址运算符
与指针引用有关的两个运算符:&与*。
&:取地址运算符
*:指针运算符,或称指向运算符、间接访问运算符。
指针指向的对象的表示形式: *指针变量
此处*是访问指针所指对象的运算符,与指针定义时的*不同。
2. 指针变量初始化
下一页
第8章 指针
上一页
7
完整版课件
(2) 指针变量初始化
若有定义: int a,*p;
语句仅仅定义了指针变量p,但指针变量并未指向确定的变量(或内存单元)。因为这些指针变量还没有赋给确定的地址值,只有将某一具体变量的地址赋给指针变量之后,指针变量才指向确定的变量(内存单元)。
指针变量初始化:在定义指针时同时给指针一个初始值
如: int a,*p=&a;
4000
3
a(4000)
p
*p
下一页
第8章 指针
上一页
8
完整版课件
(3) 指针变量的引用
① *指针变量名——代表所指变量的值。
② 指针变量名——代表所指变量的地址。
有定义: int a,*p=&a;
用*p来表示p指向的对象a,*p与a是等价的。
*p可以象普通变量一样使用。 例如:
a=12;
*p=12;
scanf("

C语言从入门到精通 第8章ppt课件 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数74
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小803 KB
  • 时间2021-06-21