C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt

C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt

ID:50020417

大小:637.50 KB

页数:75页

时间:2020-03-07

C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt_第1页
C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt_第2页
C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt_第3页
C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt_第4页
C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt_第5页
资源描述:

《C语言程序设计教程 教学课件 作者 张思卿 谭晓玲 主编第9章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章指针技能目标1、掌握指针和指针变量的定义、使用2、掌握指针数组各数组、字符串与指针的使用3、了解指向指针的指针本章要点指针的概念指针变量的定义与运算指针变量作函数参数数组与指针字符串与指针返回指针值的函数指针数组和指向指针的指针9.1指针的概念内存单元指针指针变量指针变量的值在计算机中所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元。根据内存单元的编号或地址就可以找到所需的内存单元,我们通常也把这个地址称为指针。存放指针的变量某个内存单元的地址直接访问通过变量名直接存取变量的值intx=3,y;/*定义了整型变量x和y,为x赋初值3*

2、/y=x+1;300变量a1010由编译系统完成1011内存地址变量a3001010间接访问将变量的地址存放在另一个变量中。当存取一个变量值时,先从存放变量地址的指针变量中取得该变量的存储地址,然后从该地址中存取该变量值。10102002200410103001012变量a_ptr2002变量a10103009.2指针变量的定义和运算9.2.1定义指针变量指针变量:专门存放变量地址的变量指针:变量的地址变量地址(指针)指针变量变量值变量指向地址存入指针变量例如:int*p1;注意:一个指针变量只能指向同类型的变量,如p1只能指向整型变量,不能时而指向一个整型变量,

3、时而又指向一个字符变量。定义格式类型说明符*变量名;表示这是一个指针本指针变量所指向的变量的数据类型9.2.2指针变量的运算1、有关指针的两个运算符取地址运算符&单目运算符,其结合性为自右至左,其功能是取变量的地址,其操作数必须是变量。&变量名;如:intb=3,*p;p=&b;我们称p指向了b。p&b3b取内容运算符*单目运算符,其结合性为自右至左,用来表示指针变量所指的变量。在*运算符之后的操作数必须是指针变量或指针常量。如:intb=3,*p;p=&b;我们称*p得到的是变量b(或3)。注意:在指针变量定义中,“*”是类型说明符,表示其后的变量是指针类型。而

4、表达式中出现的“*”则是一个运算符用以表示指针变量所指的变量。#includevoidmain(){inta=10,b=20,s,t,*pa,*pb;pa=&a;pb=&b;s=*pa+*pb;t=*pa**pb;printf("a=%db=%da+b=%da*b=%d",a,b,a+b,a*b);printf("s=%dt=%d",s,t);}例指针变量的引用(运算)说明pa,pb为整型指针变量给指针变量pa赋值,pa指向变量a给指针变量pb赋值,pb指向变量b求a+b之和,(*pa就是a,*pb就是b)求a*b之积2、

5、指针变量的运算1)赋值运算指针变量初始化赋值inta,*pa=&a;把变量的地址赋予相同数据类型的指针变量inta,*pa;pa=&a;把指针变量的值赋予指向相同类型变量的另一个指针变量inta,*pa=&a,*pb;pb=pa;把数组的首地址赋予指向数组的指针变量inta[5],*pa;pa=a;把字符串的首地址赋予指向字符类型的指针变量char*pc;pc=“clanguage”;指针变量加或减一个整数n的意义是把指针指向的当前位置向前或向后移动n个位置。2)与整型量的加减运算pa+n,pa-n,pa++,++pa,pa--,--pa注意:指针变量向前或向后移

6、动一个位置和地址加1或减1在概念上是不同的。inta[5],*pa;pa=a;/*pa指向数组a,也是指向a[0]*/pa=pa+3;/*pa指向a[3],即pa的值为&pa[3]*/pa=pa-2;/*pa指向a[1],即pa的值为&pa[1]*/得到的是两个指针所指数组元素之间相差的元素个数。3)两个指针变量之间的运算注意:两个指针变量不能进行加法运算。两指针变量相减只有指向同一数组的两个指针变量之间才能进行运算指向同一数组的两指针变量进行关系运算可表示它们所指数组元素之间的关系。pf1==pf2表示pf1和pf2指向同一数组元素pf1>pf2表示pf1处于高

7、地址位置pf1voidmain(){intx,*p,**pp;x=10;p=&x;pp=&p;printf("x=%d",**pp);}例二级指针变量的引用9.3指针变量作函数参数函数的参数不仅可以是整型、实型、字符型等,还可以是指针

8、类型。用指

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

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

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