c语言程序设计(第九章).ppt

c语言程序设计(第九章).ppt

ID:56527458

大小:177.00 KB

页数:56页

时间:2020-06-27

c语言程序设计(第九章).ppt_第1页
c语言程序设计(第九章).ppt_第2页
c语言程序设计(第九章).ppt_第3页
c语言程序设计(第九章).ppt_第4页
c语言程序设计(第九章).ppt_第5页
资源描述:

《c语言程序设计(第九章).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章指针9.1指针的基本概念9.2指针和指针变量9.3数组和指针9.4函数的指针9.5返回指针值的函数9.6指针数组学习目标:1、熟练掌握指针与指针变量的概念;2、熟练使用指针与地址运算符;3、掌握通过指针引用变量、数组、字符串、结构体等各类数据的方法;4、掌握用指针作函数参数的用法。9.1指针的基本概念指针就是地址,是一种数据类型。“直接访问”方式:按变量地址直接对变量的值进行存取。“间接访问”方式:在访问变量时,不直接按变量的地址取其值,而将变量的地址存放在另一个存储单元中,要访问某变量时,先访问存放该变量地址的存储单元,再间接地访问变量,对变量进行存取操作。

2、9.2指针和指针变量可以用运算符“*”来定义指针变量,也可以用“*”表示“指向”关系来使用指针变量。9.2.1指针变量的定义指针变量是专门用于存放地址的变量,C语言将它定义为“指针类型”。定义指针变量的一般格式为:类型标识符*指针变量名例如:inti,j,*p1,*p2;说明:1、指针变量前面的“*”表示该变量的类型为指针型变量。指针变量名是p1、p2,而不是*p1、*p2。2、左端的int是在定义指针变量时必须指定的“基类型”,指针变量的基类型用来指定该指针变量可以指向的变量的类型。p1、p2可以用来指向整型变量,但不能指向实型变量。9.2.2指针变量的赋值可用取

3、地址运算符“&”求变量的地址。可以用赋值语句使一个指针变量指向一个变量,例如:p1=&i;p2=&j;也可以在定义指针变量的同时对其赋值,例如:inti=3,j=4,*p1=&i,*p2=&j;指针变量中只能存放地址(指针),不能将一个整型量(或任何其它非地址类型的数据)赋给一个指针变量。9.2.3指针变量的引用可以通过指针运算符“*”引用指针变量,指针运算符可以理解“指向”的含义。设有指针变量p1:p1指针变量,它的内容是地址值。*p1指针的目标变量,它的内容是数据。&p1指针变量的地址,即“地址的地址”。例9.1通过指针变量访问整型变量main(){inta,b

4、,*point_1,*point_2;a=100;b=10;point_1=&a;/*把变量a的地址赋给point_1*/point_2=&b;/*把变量b的地址赋给point_2*/printf(“%d,%d”,a,b);printf(“%d,%d”,*point_1,*point_2);}运行结果为:100,10100,10指针运算符(*)和地址运算符(&):intx;int*p=&x;x=8;*p=8;&x&(*p)p*&xx例9.2输入a和b两个整数,按先大后小的顺序输出main(){inta,b,*p1,*p2,*p;scanf(“%d,%d”,&

5、a,&b);p1=&a;p2=&b;if(a

6、ntf(“指针p中的值是:%x”,p);printf(“指针q中的值是:%x”,q);printf(“指针p的地址&p是:%x”,&p);printf(“指针q的地址&q是:%x”,&p);}输出结果:整型变量x的值是:8指针p所指向的目标值*p是:8指针q所指向的目标值*q是:8变量x的地址&x是:22ff7cH指针p中的值是:22ff7cH指针q中的值是:22ff7cH指针p的地址&p是:22ff74H指针q的地址&q是:22ff78H9.2.4指针变量作为函数参数函数的参数是一般变量或常数时,函数实参向形参是单向值传递。函数的参数是数组名时,则

7、将实参数组名传递给形参数组名,数组名表示数组中第1个元素的地址,故这种传递是地址的传递。函数参数也可以是指针变量,其作用是将变量的地址传到另一函数中去。例9.3对输入的两个整数按大小顺序输出voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}main(){inta,b,*point_1,*point_2;scanf(“%d,%d”,&a,&b);point_1=&a;point_2=&b;if(a

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

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

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