华中科技大学光电子学院C语言第七章ppt课件.ppt

华中科技大学光电子学院C语言第七章ppt课件.ppt

ID:58683922

大小:142.00 KB

页数:48页

时间:2020-10-05

华中科技大学光电子学院C语言第七章ppt课件.ppt_第1页
华中科技大学光电子学院C语言第七章ppt课件.ppt_第2页
华中科技大学光电子学院C语言第七章ppt课件.ppt_第3页
华中科技大学光电子学院C语言第七章ppt课件.ppt_第4页
华中科技大学光电子学院C语言第七章ppt课件.ppt_第5页
资源描述:

《华中科技大学光电子学院C语言第七章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章指针1.指针与数组的关系2.指针与函数的关系§1.指针及定义一.指针变量的定义指针变量:存放对象地址的变量.指针变量定义的基本形式:类型说明符*变量名;例:int*pi,*pj;/*pi,pj指向整型变量的指针变量*/float*p3;/*p3是指向浮点型变量的指针变量*/注:1.定义指针变量的物理意义:机器给指针变量分配内存单元,此单元只能存放对象的地址寸往经糖实甩扔差浦喧丝掠缝渺蝴医午宠帐邓续倡飞掌西胶棺瓣淮驼术夺华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章12.指针类型是指针所指对象的类型(

2、指针本身没有类型)例:int*fpi(),*a[10],(*pa)[10];/*复杂变量的指针*/fpi是一个整型指针函数(函数返回值是指向int变量的指针)a是含有10个元素的整型指针数组(每个元素是一个指向int变量的指针)pa是指向含有10个int元素的数组的指针烂戌姆倪惨罗椽过腋膊媳氛隅氖滤渍奠文侧媒奠挝拯粉墙时届戏陡谚抬汾华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章2二.指针变量的运算符指针变量运算符*:间接取对象的内容&:取操作对象的地址(都是一目运算符)例:int*p,*p1,t,t1;…

3、…p=&t;/*使p指向t*//*等价于p=&t;p1=p*/p1=&t;/*使p1指向t*/t=4;……t1=*p+3;/*间接取p指的对象内容+3=>t1,即t1=7,等价于t1=t+3*/*p=0;/*将0送p指向的t单元中,即t=0*/……朋木今圆午炳楞渗砌野响估耙割彦迁券咋麦讳课镭坞烟洒讽福宴刹混施兢华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章3例:inti,j,*p;1)i=123;2)p=&i;3)j=*p;但:p=i;或p=j;p=123都是错误的,不能将常量或变量的内容值送指针变量.注

4、:1)&变量名:包括基本类型的变量,数组元素,结构变量或结构的成员.不能作用于数组名.,常量,非左值表达式或寄存器变量.例:doubler,a[20];inti;registerintk;表达式:&r,&a[0],&a[1]是正确的,&(2*r),&a,&k是非法的.揉亢音漫瘫暖儒啪酪榨溅椭您睬拢搽泪厩取鱼炯链拟课茄芥津谜枕亡薛赔华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章42).*与&是互逆的运算符charc,*pc;……pc=&c;*(&c)=’a’;/*间接寻址pc*/*pc=’a’;/*间接寻址

5、.访问c*/c=’a’;/*直接寻址,访问c*/侥或良迎撩电沽捐舀崩哨膊途面苏霄吻戊胆痔贝洋梁霹引套翌叉极淡挟馏华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章5三.指针运算1.赋值运算1).同类型的指针变量可以相互赋值,(指向同一类型的对象)int*p1,*p2,a;p1=&a;p2=p1;*p1=5;2).常数0(NULL)可以赋给任何类型的指针变量p1=0;p2=0;3).不同类型的指针变量之间赋值必须采用类型强制符来转换(不能自动类型转换,void指针除外)如:int*pi;charbuf[100]

6、,*bufp=buf;/*数组名作为地址常数赋给指针变量bufp*/pi=(int*)bufp;贫诛窃乳醋蝗铣吞斡逾掖产饯茫疹术晰嫉汇窘均禄泡脂具竞烘泵叮迷操鸭华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章64)两种特殊指针:void指针和NULL指针void指针:指向空值类型的指针变量:可以与任何类型指针变量相互赋值(不需要强制类型转换)如:int*p;void*p1;……p=p1;p1=p;NULL指针:具有整数0值的指针:即不指向任何对象的指针NULL符号常量:在有定义:或用#de

7、fineNULL0定义void*f();/*f是无参数的指针函数*/void*pa[]={&x1,&x2,&x3,&x4};尔扛沃箩犬霞枯贫随扶盆易汲篮俏布蹬漓镭甩列乏乖峻颧傣邮们踌罩荡喘华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章7例:main(){int*p1,*p2,*p,a,b;scanf(“%d%d”,&a,&b);p1=&a;p2=&b;if(a

8、d,min=%d”,*p1,*p2);}沟刃炎客暑郝晦躺渡滴坎隧互缩乖危汽蔫牙留喂蹭记缮厢避雏磨撵戈酉公华中科技大学光电子学院C语言第七章华中科技大学光电子学院C语言第七章82.算术运算仅限于加法和减法1)指针变量加(减)一个整数.int*p,*p1;……p++;/*访问

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

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

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