C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx

C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx

ID:52769816

大小:240.21 KB

页数:33页

时间:2020-03-07

C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx_第1页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx_第2页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx_第3页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx_第4页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx_第5页
资源描述:

《C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第8章 指针.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章指针学习目标掌握定义指针的方法,掌握指针的基本操作;掌握利用指针作为函数参数传递数据的方法;掌握一维数组指针和行指针的概念和应用主要内容指针的概念指针变量的定义指针的基本操作指针变量的简单应用指针作为函数参数一维数组的指针行指针8.1指针的概念和简单应用一.指针和指针变量的概念变量名就是给变量数据存储区域所取的名字。计算机内存的每个存储位置都对应有唯一的存储地址。C语言支持通过变量存储地址对变量进行存取操作。1.取地址运算符“&”通过对变量施行取地址运算,获得变量的存储地址。在C语言中,称变量的存储地址为指针。【例8-1】下面的程序显示变量x

2、的存储地址和x的值。main(){intx=3;printf("Addressofxis%xH,Valueofxis%d",&x,x);}先显示变量x的存储地址,然后显示变量x的值。地址以十六进制格式输出。如果程序运行结果显示:AddressofxisffdcH,Valueofxis3说明变量x的指针为ffdc,即变量x存储在起始地址为ffdcH的内存单元中。如图所示:ffdcH3ffddH0空指针的概念一个不指向任何存储单元的指针称之为空指针,空指针的值为ASC码表中的NULL值,也即是0值。2.指针变量专门用来表示变量的存储地址的一类变量,

3、称之为指针变量。定义指针变量的格式:类型说明符*指针变量名;定义指针变量的例子:例1.floatx,y,*pf;/*定义浮点型变量x、y及一个指向浮点型数据的指针变量pf*/例2.charch1,ch2;/*先定义字符型变量ch1,ch2*/char*p1;/*再定义一个指向字符型数据的指针变量p1*/例3.charch,*pc=&ch;/*定义字符型变量ch及一个指向字符型数据的指针变量pc,同时使pc指向ch的存储单元*/例4.inta=7,*p=&a;/*定义整型变量a,并初始化等於7,又定义一个指向整型数据的指针变量p,同时使p指向a的存储

4、单元*/注意:(1).类型说明符说明的是指针变量所指向的数据类型。不同类型的指针变量不能相互替代。(2).指针变量具有与其他变量相同的命名规则。(3).指针变量的初始化要遵循“先说明、后使用”的原则。二.指针变量的简单应用1.给指针变量赋值在程序中通过赋值语句给指针变量赋值。例如:inta,*p;/*定义整型变量a,又定义一个指向整型数据的指针变量p*/p=&a;/*使指针变量p指向a的存储单元*/2.取得指针变量所指向的变量值在程序中“*指针变量名”表示取得其所指向的变量的值。例如:inta=7,b=5,c,*p1=&a,*p2=&b;c=*p1

5、+*p2;/*取出a,b的值,相加后将结果赋给变量c,等价于c=a+b*/【例8-2】输入三个整数,输出其中的最大值。main(){intx,y,z,*p1=&x,*p2=&y,*p3=&z,*pmax;scanf("%d,%d,%d",p1,p2,p3);pmax=p1;if(*pmax<*p2)pmax=p2;if(*pmax<*p3)pmax=p3;printf("MAX=%d",*pmax);}交换指针指向【例8-3】输入三个整数,按从大到小的顺序输出这三个数。main(){inta,b,c,*p1=&a,*p2=&b,*p3=&c,*

6、t;printf("PleaseInputThreeIntegers:");scanf("%d,%d,%d",p1,p2,p3);if(*p1<*p2){t=p2;p2=p1;p1=t;}if(*p2<*p3){t=p3;p3=p2;p2=t;}if(*p1<*p2){t=p2;p2=p1;p1=t;}printf("%d,%d,%d",*p1,*p2,*p3);}交换指针指向通过改变变量的存储实现排序48114118abcabc通过改变指针变量的指向实现排序41184118P1P2p3P1P2p38.2指针作为函数参数指针可以作为函数的形参和

7、实参参与函数调用。在函数调用时,通过地址传递,把实参变量的存储地址传递给形参变量,被调函数通过这些存储地址访问实参变量,使实参变量参与函数调用。指针变量要作为函数参数,必须满足:在函数调用中,形式参数和实在参数在类型,个数和顺序上必须保持一致的要求:在函数调用时,如果实在参数是指针,那么函数中相应的形式参数必须被说明为同类型的指针变量。【例8-4】通过函数调用交换实参变量的值。voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}main(){inta,b;printf("Pleaseinputt

8、wointegers:");scanf("%d,%d",&a,&b);printf("a=%db=%d",a,b)

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

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

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