C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt

C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt

ID:50320208

大小:1.35 MB

页数:92页

时间:2020-03-08

C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt_第1页
C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt_第2页
C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt_第3页
C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt_第4页
C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 蔡启先第5章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章指针5.1指针的概念5.2指针的定义和指针的初始化5.3指针的运算第5章指针5.4指针和一维数组5.5字符指针和字符串5.6二维数组与多维数组的指针表示法5.7指针数组和多级指针5.8使main函数带参数5.9综合示例5.1指针的概念5.1.1地址和指针5.1.2指针与指针变量1.变量的地址和变量的内容计算机的内存是以字节为单位的一片连续的存储空间,每一个字节都有一个编号,这个编号就是内存地址,称为字节编址内存中的地址编号是连续的.5.1.1地址和指针C程序中的变量具有一定的类型,C编译系统根据已定义变量的类型,为其分配一定字节

2、数的内存空间。例:inta,b;floatx;内存中每个字节有一个编号-----地址编译或函数调用时为变量分配内存单元图5-1变量a、b、x的地址2011变量a:2010变量b:2012变量x:20142013201520162017变量是对程序中数据存储空间的抽象所谓变量的地址,系指该变量在内存中所占存储单元的首地址。在这里,a的地址为2010,b的地址为2012,x的地址为2014。变量的内容指的是变量所代表的存储单元中存放的数据。程序中对变量进行存取操作,就是对某个地址的若干字节存储单元进行操作。在程序中要访问某个变量,只需要指

3、出变量名,而无须知道每个变量在内存中的具体地址。按变量名来存取变量值的访问方式称为“直接寻址”方式printf(″%d″,ia);scanf(″%d″,&ib);k=x+y;例如:2.直接寻址和间接寻址通过变量pa间接得到变量a的地址,然后再访问a的方式称为“间接寻址”。2.直接寻址和间接寻址2010指针pa10变量a图5-2通过变量pa间接寻址变量a3000如何描述间接寻址呢?1.指针类型和指针变量指针是一种特殊的数据类型,即所谓“指针类型”。指针表示的是它所指向的对象的地址。可以定义一种指针类型的变量,这种变量专门用来存放内存地址

4、,称为指针变量。5.1.2指针与指针变量如:设变量pa是指针变量,可以通过赋值运算使其内容是变量a的地址:pa=&a;&:取地址运算符,单目运算符。&a:变量a的地址。指针变量pa是变量a的指针,变量a是指针变量pa指向的对象或者说目标变量。指针和指针变量是两个不同的概念,前者指内存中的地址,后者指专门存放地址的一类特殊变量。5.1.2指针与指针变量2.&运算和*运算(1)&运算:取指定变量或数组元素的地址&要求运算量是变量或数组元素,形式为:&变量名或数组元素名如&a、&b[2]等。5.1.2指针与指针变量如:int*pa,a;pa

5、=&a;则:scanf(“%d”,&a);等价于scanf(“%d”,pa);2.&运算和*运算(2)*运算:访问指定地址的目标变量*运算符要求运算量是地址,形式为:*指针变量名或目标变量的地址如:y=*px;5.1.2指针与指针变量xpxxyy=x;*pxy&xpx=&x;y=*px;2.&运算和*运算5.1.2指针与指针变量&apa=&a;*papaa*pa=apaa2.&运算和*运算&运算和*运算互为逆运算。如,表达式&(*px)含义为取指针px的目标变量的地址,就是px。表达式*(&x)含义为访问变量x的地址指向的目标变量,就

6、是x。5.1.2指针与指针变量2.&运算和*运算例如,若定义了float型变量x和指针变量px,并让px指向x:floatx,*px;px=&x;则:scanf(“%f”,&x);scanf(“%f”,&*px);scanf(“%f”,px);这三条语句是等价的。同样,语句x=2.5 ;与*px=2.5 ;等价。而语句printf(“%f%f”,*px,x) ;实现了以不同形式输出变量x的值。可见,一旦指针px有了明确的指向,*px可以象普通变量一样使用。5.1.2指针与指针变量2.&运算和*运算请注意区分下面三种表示的不同含义:px

7、——指针变量,内容是地址量。*px——指针px的目标变量,内容一般是数据。&px——指针变量px占用的存储区域的地址。5.1.2指针与指针变量px、*px和&px的含义px*px&px3.空指针指针的内容是零时,该指针定义为空指针。空指针没有任何指向,只是指针的一种状态,在程序中常作为一种状态标志使用。5.1.2指针与指针变量5.2指针的定义和指针的初始化5.2.1指针变量的定义5.2.2指针的初始化指针变量定义的一般形式数据类型*指针变量名;5.2.1指针变量的定义如:int*point;/*定义point为int型指针变量*/ch

8、ar*p_name;/*说明p_name为char型指针变量*/float*pa;/*定义pa为float型指针变量*/double*varp/*定义varp为double型指针变量*/也可以和普通变量在一起说明,如:i

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

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

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