C语言程序设计高职计算机配套教学课件ppt项目8.ppt

C语言程序设计高职计算机配套教学课件ppt项目8.ppt

ID:51963638

大小:374.50 KB

页数:22页

时间:2020-03-26

C语言程序设计高职计算机配套教学课件ppt项目8.ppt_第1页
C语言程序设计高职计算机配套教学课件ppt项目8.ppt_第2页
C语言程序设计高职计算机配套教学课件ppt项目8.ppt_第3页
C语言程序设计高职计算机配套教学课件ppt项目8.ppt_第4页
C语言程序设计高职计算机配套教学课件ppt项目8.ppt_第5页
资源描述:

《C语言程序设计高职计算机配套教学课件ppt项目8.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、项目8指针1项目导读项目目标项目任务指针是C语言最具特色的语言成分,它是C语言的精华,同时又是C语言的难点。用好指针会提高C语言程序的运行效率,指针用得不好则会带来麻烦。因此,掌握和运用好指针是学好C语言的关键。项目导读●学会使用指针间接访问变量。●掌握指针递增、递减的运算规则。●学习如何使用具有指针类型的参数的函数来解决问题。●使用一个函数改变另一个函数中局部变量的值。思考项目目标任务8.1指针变量1.什么是指针指针是一种特殊的变量,它的特殊性表现在类型和值上。首先看看指针的值,指针的值是某个对象(例如变量)的内存地址,因此指针是用来存放某个对象地址的变量,它存放了哪个对象的地址值,就说

2、它是指向哪个对象的指针。再看看指针的类型,指针的类型是它所指向的对象的类型,而不是它本身的类型,它本身存放的是地址值。指针可以指向任一类型的对象,于是指针的类型可以是各种各样的。例如,有指向int型、float型、double型、char型的,还有指向数组、结构、联合等构造类型的,还有指向函数、文件以及指向指针的等等,可以说C语言中几乎处处都与指针有联系。任务8.1指针变量2.指针变量的定义指针变量定义的一般形式如下:类型标识符*指针变量名:定义中指针变量名和一般变量一样,用标识符表示。为了与一般变量相区别,在变量名前加一个“*”.这里“*”作为说明符,说明其后的变量是指针变量。类型标识符

3、表示该指针变量所指向的对象或变量的类型。例如:int*pi;/*pi是指向int型变量的指针*/float*pf;/*pf是指向float型变量的指针*/double*pd:/*pd是指向double型变量的指针*/任务8.1指针变量3.指针的运算(1)指针运算符C语言为指针专门设置了二个运算符。①取地址运算符&&是单目运算符,它给出运算对象的地址。如:inta,*pa;pa=&a;将变量a的地址赋给指针pa,也就是使pa指向了变量a。②间接访问运算符**也是单目运算符,当它作用于指针上时,用来间接访问该指针所指的对象。如:inta=5,b.*pa;pa=&a;/*pa现在指向a*/b=*

4、pa;/*b现在为5*/*pa=0;/*a现在为0*/任务8.1指针变量(2)指针的赋值①指针可以用某个变量的地址赋位例如:inta.*pa;定义了一个整型变量a和一个指向整型变量的指针pa.但这时指针pa并未指向某一具体的整型变量。可以取a的地址赋给pa:pa=&a;这时pa就指向a了②可以将一个己被赋值的指针赋给另一个指针例如:int,*pa,*pb;pa=&a;pb=pa;这时指针pa和pb都将指向同一个变量a。任务8.1指针变量⑶指针可以加减一个整数指针可以加减一个整数,并不是地址量与整数值的简单相加。一个指针加一个整数意味着将指针后移:减去一个整数,意味着前移。例如:p+10指针

5、后移(增加)10个单元p++指针后移1个单元p-n指针前移(减少)n个单元p--指针前移l个单元⑷两个同类的指针可以相减指向类型相同的两个指针可以相减,其结果是两个指针相隔的单元数。⑸两个同类的指针可以作比较操作指向同一类型的两个指针可以比较它们的地址值,使用比较运算符:>>=<<=!===比较结果为1(真)或0(假),可用于条件语句和循环语句中作条件判断。任务8.2指针类型的参数函数的参数不仅可以是整型、实型、字符型等数据,而且也可以是指针类型。下面编写一个交换两个变量数值的函数。示例8.1用一般变量作参数,不能实现交换。#include<stdio.h>Voidswap(int.int

6、);main(){inta=5,b=0;printf(“%d,%d”,a,b);swap(a,b);printf(“%d,%d”,a,b)}voidswap(intx.inty){inttemp;temp=x;x=y;y=temp;}运行结果:5,95,9任务8.2指针类型的参数示例8.2用指针作参数,实现两值的交换。#include<stdio.h>voidswap(int*,int*);main(){inta=5,b=9;printf(“%d,%d”,a,b);swap(&a,&b);printf(“%d,%d”,a,b);}voidswap(int*px,int*py

7、){inttemp;temp=*px;*px=*py;*py=temp;}运行结果:5,99,5从上例可以看出,虽然C语言的函数参数都是传值的,不能通过形参本身值的改变,直接影响实参的变化,但是可以利用指针作参数,改变它所指向的变量的值(而非形参自身的值),间接地将它们的影响返回到主调函数。任务8.3指针与数组8.3.1指针与数组C语言中,指针与数组的关系非常密切,任何能由数组下标完成的操作都可由指针来实现,正确地使用数

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

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

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