指针概念定义引用运算及练习ppt课件.ppt

指针概念定义引用运算及练习ppt课件.ppt

ID:59440937

大小:387.00 KB

页数:36页

时间:2020-09-18

指针概念定义引用运算及练习ppt课件.ppt_第1页
指针概念定义引用运算及练习ppt课件.ppt_第2页
指针概念定义引用运算及练习ppt课件.ppt_第3页
指针概念定义引用运算及练习ppt课件.ppt_第4页
指针概念定义引用运算及练习ppt课件.ppt_第5页
资源描述:

《指针概念定义引用运算及练习ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章指针是C语言中的精华与难点引入指针前变量的访问方式(1)定义变量:shorta;charch;floatf;内存12……8b3a8b3b8b3c以字节为单位进行编号(地址)9a019b3c9b3d9b3e9b3f…………系统根据变量的类型,从内存中给变量分配相应字节的空间,并记录变量名与内存起始地址之间的对应关系系统表变量名起始地址字节数a8b3a2ch9a011f9b3c4(2)使用变量a=3;ch=‘A’;f=3.5;内存12……8b3a8b3b8b3c以字节为单位进行编号(地址)9a019b3c9b3d9b3e9b3f…………0000000000000101

2、010000013.5我们将这种通过变量名来使用变量的方式称为直接访问方式9.1指针的概念引入指针后变量的访问方式(1)定义变量:floatf=3.5,*p;内存12……8b3a8b3b8b3c9a019b3c9b3d9b3e9b3f…………系统表变量名起始地址字节数p8b3a2f9b3c43.5(2)使用指针变量p=&f;内存12……8b3a8b3b8b3c9a019b3c9b3d9b3e9b3f…………3.5访问变量f的过程:(1)从指针变量p中读出值(地址)。(2)按照读出的地址,到相应的地址访问变量f9b3c我们将这种先查地址,再通过地址找到变量的方式称为间接访

3、问方式说明:[1]地址:内存各字节单元的编号。[2]地址的表示:变量的地址:&变量名数组的地址:数组名数组元素的地址:&数组元素[3]指针变量是C语言提供的专门用于存放地址的变量。12……8b3a8b3b8b3c9a019b3c9b3d9b3e9b3f…………3.5pf指向:若一个指针变量中存放了某个变量(数组、数组元素)的地址,我们称“指针变量指向了某变量(数组、数组元素)”。例如:9b3cfloat*p,f=3.5;p=&f;指针变量p中存放f的地址简单表示为:pf基本概念[1]指针:即地址(内存各字节单元的编号)[2]指针变量:用于存放指针(地址)的变量[3]指针

4、变量指向的变量:以指针变量中的地址作为存储地址的变量。12……8b3a8b3b8b3c9a019b3c9b3d9b3e9b3f…………3.5pf9b3c指针指针变量指针变量p指向的变量9.2指针变量的定义及使用指针变量同普通变量一样,必须先定义后使用指针变量的定义:【一般形式】类型名称*变量名称;规定该指针变量存放哪种类型变量的地址,且只能存放该类型变量的地址。可以是任意类型。指针变量的标志符合C语言规定的标识符,作为变量名称使用举例:int*pa;long*pl;float*pf;char*pc;(1)pa中只能存放int型变量的地址,即只能指向int型的变量。(2)

5、pl只能指向long类型变量(3)pf只能指向float类型变量(4)pc只能指向char类型变量(5)void*p;只能指向void类型指针变量在内存中占用的字节数与计算机的硬件有关(16位机2字节,32位机4字节),与指向的数据类型无关。在同类的计算机中,所有指针变量占用的字节数是相同的,例如:使用16位机,定义int*pa;float*pf;char*pc;pa,pf,pc虽然指向的数据类型不同,但在内存中占用的字节数是相同的(2字节)。指针变量的使用:先赋值(指向)、后引用指针变量的赋值:将变量的地址赋给指针变量(1)指针变量的初始化:定义的同时赋值inta=3

6、,*p=&a;/*p指向int型变量a*/(2)使用赋值语句:inta,*p;p=&a;/*p指向int型变量a*/(3)不使用scanf函数输入指针变量的值。(3)注意问题:int*p=&a,a=3;int*p;floatf=3.5;p=&f;a=3,*p=&a;float*p;指针变量的引用引用:通过指针变量间接访问其指向的变量【一般形式】*指针变量名引用运算符代表该指针变量指向的变量int*p,a;p=&a;a=5;*p=7;pa&a5直接访问方式将p指向的变量赋值为77间接访问方式说明(1)指针变量只能赋地址值,不能赋其他类型的数据。(2)指针变量的使用顺序为定

7、义:int*p,a;指向(赋值):p=&a;引用:*p=3;例如:int*p=1000;Warning:Non-portablepointerassignmentint*p,a;*p=3;Warning:PossibleuseOf‘p’beforedefinationin(3)希望指针变量不指向任何单元,可使用以下三种形式之一:main(){int*p;p=0;}stdio.h中有预处理命令:#defineNULL0#defineNULL0p=NULL;#include“stdio.h”p=NULL;推荐使用形式3(4)在定义指针变量和引

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。