指针及指针变量的概念ppt课件.ppt

指针及指针变量的概念ppt课件.ppt

ID:58784436

大小:141.00 KB

页数:79页

时间:2020-10-03

指针及指针变量的概念ppt课件.ppt_第1页
指针及指针变量的概念ppt课件.ppt_第2页
指针及指针变量的概念ppt课件.ppt_第3页
指针及指针变量的概念ppt课件.ppt_第4页
指针及指针变量的概念ppt课件.ppt_第5页
资源描述:

《指针及指针变量的概念ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章指针重点:指针及指针变量的概念、定义及数据访问原理指针和数组的关系,使用指针变量访问一维数组的方法指针和二维数组的关系重点:(续)指针与字符串的关系,运用指针处理字符串以数组名、指针作为函数参数的应用指针数组、指针函数、二级指针的概念及应用8.1地址和指针的概念变量的地址称为该变量的指针,通过在变量名前加取地址运算符“&”即可获得该变量的地址,图8-1中地址2500是变量i的指针,可由表达式&i获得。C语言提供了一类特殊的变量专门用来存放另一个关联变量的地址,称之为指针变量。如图8-2所示,指针变量i_pt中存放

2、了变量i的地址2500H。当指针变量中存放着某一个变量的地址时,就称这个指针变量指向那一变量,即指针变量i_pt指向变量i。引入指针概念后,程序可直接通过变量名i访问变量的值30,也可间接通过指针变量i_pt中存放的地址2500H去访问变量i的值,区别于通常的直接访问,我们称这种访问形式为变量的间接访问。8.1地址和指针的概念i2500图8-2变量及变量指针30i_pt2500i2500图8-1变量及变量地址30&i8.1地址和指针的概念按照C语言的规定,指针变量在使用之前必须先定义,一般形式如下:数据类型说明符*指针

3、变量名;“指针变量名”由一个合法的标识符构成。指针变量名前的“*”是指针变量说明符,用以说明标识符所表示的变量是一个指针变量。char*p1;/*p1是指向char型变量的指针变量,存取单位为1个字节*/float*p2;/*p2是指向float型变量的指针变量,存取单位为4个字节*/类型相同的多个指针变量以及普通变量、数组等可以放在一条变量说明语句中进行定义。下列说明语句是合法的:int*pa,*pb,x,t[10];8.1.2指针变量的使用inti,*i_pointer;i_pointer=&i;语句执行后,指针变

4、量i_pointer的值即为变量i的地址,此时i_pointer就成了指向变量i的指针变量。8.1.2指针变量的使用inti,*i_pointer1,*i_pointer2;i_pointer1=&i;i_pointer2=i_pointer1;语句执行后指针变量i_pointer1和i_pointer2都成为指向变量i的指针变量。8.1.2指针变量的使用指针变量与其它普通变量一样,可在定义时直接赋初值。例如:intx=2,*px=&x;floaty,*py=&y;第一条语句用变量x的地址对指针变量px进行初始化,第二

5、条语句用变量y的地址对指针变量py进行初始化,使得px指向变量x、py指向变量y。8.1.2指针变量的使用指针变量与普通变量不一样,只能存放地址,不可将一个整数或任何其他非地址类型的数据赋给一个指针变量。下面的赋值操作不合法:int*pointer_1=100;8.1.2指针变量的引用C语言提供了两个指针运算符:&:取地址运算符;*:指针运算符。例如&a为变量a的地址,*p为指针变量p指向的变量的值。例8-1:利用指针变量访问整型变量。/*程序8-1.c,指针变量访问整型变量*/#includevoi

6、dmain(){inta=10,*p=&a;printf("a=%d,*p=%d",a,*p);}a图8-3p指向变量a10p&a例8-2:利用指针实现两个整型数据的交换。引入指针之前,要交换两个数据a、b的值,得借助于中间变量t,先将变量a的值保存到t,再将变量b的值赋给a,最后将保存在t中的a的原值赋给b。指针提供了交换操作的另一种实现方法:定义两个整型变量的指针p1和p2分别指向变量a、b,利用*p1和*p2获取a、b的值,并实现数据交换。/*程序8-2.c,利用指针交换数据*/#include"stdio.

7、h"voidmain(){inta=9,b=25,*p1=&a,*p2=&b,c;c=*p1;*p1=*p2;*p2=c;printf("a=%d,b=%d,*p1=%d,*p2=%d",a,b,*p1,*p2);}例8-3:根据程序执行的输出结果,分析以下程序:/*程序8-3.c*/#include"stdio.h"voidmain(){intx=10,y;int*px;px=&x;y=*px;printf("x=%d,y=%d",x,y);*px=20;printf("Newx=%d",*px);}8.2指

8、针的运算1、算术运算指针变量可以参与加法和减法运算。设p为指针变量,n为正整数,则指针算术运算表达式的一般形式为:p±n2、自增/自减运算(++、--)对指针变量进行自增自减运算,实质上与算术运算的p±1一致,即将向前/向后移动指针变量,使其指向内存中的前一个/后一个同类型变量,8.2指针的运算3、关系运算当两个指针变量pa、pb

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

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

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