C课件第讲全能版.ppt
《C课件第讲全能版.ppt》由会员分享,可在线阅读,更多相关《C课件第讲全能版.ppt(22页珍藏版)》请在三一文库上搜索。
1、第十三讲,Begin:,第八章 指针,指针和指针变量的概念 变量的指针和指向变量的指针变量,8.1.1 地址和指针,存储单元:存放一个字节数据的存储器。 存储单元的内容:存储单元中存放的数据。 存储单元的地址:存储单元的编号。 变量的首地址:变量占据的连续存储单元的起始地址,简称变量的地址。 指针:存储单元的地址,是一个常量。,8.1.1 地址和指针,int i; char ch; float f;,i = 1; ch = A; f = 2.5;,8.1.2 指针变量,指针变量是专门用来存放内存单元地址的特殊变量。当把某个变量i的地址存入指针变量p后,我们就说这个指针变量p指向该变量i。,指向
2、,1000,i的地址存入p,int i = 10, *p;,p = ,指针与指针变量的区别,就是变量值与变量的区别,即指针变量的值是指针。例如,可以说变量i的指针是1000,但不能说变量i的指针变量是1000。,8.1.2 指针变量,对内存单元的访问有两种方式: 直接访问:直接根据变量名存取变量的值。 间接访问:将变量的地址存放在指针变量中,当要对变量进行存取时,首先读取指针变量的值,得到要存取变量的地址,再对该变量进行访问。,8.2.1 指针变量的定义,定义格式: 类型说明符 *指针变量名; 其中类型说明符指的是指针变量所指向变量的数据类型, “*”表示随后的变量是指针变量。 例如:int
3、*ptr1; char *ptr2; ptr1是指向整型变量的指针变量,专门用来存放整型变量的地址。 ptr2是指向字符型变量的指针变量,专门用来存放字符型变量的地址。,8.2.1 指针变量的定义,说明: 1)指针变量中只能存放地址(指针),不能和整型 变量混淆。例如下面写法是错误的: int *ptr1; ptr1 = 1000; 指针变量可以取值为0(NULL),表示该指针变量不指向任何变量。 2)指针变量只能存放与它数据类型相同的变量的地址。例如下面写法是错误的: int *ptr1; char ch; ptr1 = ,8.2.2 指针变量的引用,指针变量可以通过一对互逆的运算符进行引用
4、。 取地址运算符“ /*将变量ch的地址赋给指针变量ptr2*/,8.2.2 指针变量的引用,指针运算符“*” 作用:间接存取指针变量所指向变量的值。 例如:int i, *ptr1; char ch, *ptr2; ptr1 = ,8.2.2 指针变量的引用,说明: 1)定义语句中的“*”和执行语句中的“*”含义不同,定义语句中的“*”说明定义的是一个指针变量,而执行语句中的“*”表示间接存取指针变量所指向变量的值。 2)指针变量中必须存放了确定的地址值后才能进行指针运算。例如下面写法是错误的: int *ptr1; *ptr1 = 10; ptr1中存放的是一个随机的地址值,该地址有可能是
5、系统程序已占用存储单元的地址,将10赋值给ptr1所指向对象后,原来的数据被更新,系统有可能遭到很严重的破坏。,8.2.2 指针变量的引用,例 指针运算符的使用,#include void main( ) int a=50, *p; p= ,程序运行结果: *p=50, p=fff4 a=100, &a=fff4,8.2.3 指针变量的初始化,一般格式: 类型说明符 *指针变量名 = 初始地址值; 例如:int i, *ptr1 = 说明: 1)任何指针变量在使用之前必须初始化,使指针变量指向一个确定的内存单元,未经初始化的指针变量禁止使用。 2)必须使用同类型变量的地址进行指针变量的初始化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件 全能
链接地址:https://www.31doc.com/p-2037534.html