谭浩强C语言课件第10章.ppt

谭浩强C语言课件第10章.ppt

ID:52397390

大小:502.56 KB

页数:88页

时间:2020-04-05

谭浩强C语言课件第10章.ppt_第1页
谭浩强C语言课件第10章.ppt_第2页
谭浩强C语言课件第10章.ppt_第3页
谭浩强C语言课件第10章.ppt_第4页
谭浩强C语言课件第10章.ppt_第5页
资源描述:

《谭浩强C语言课件第10章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章 指针§10.1指针的概念指针(pointer):是一个变量的地址。指针变量:是一个变量,其值是另一个变量的地址。任何变量都在计算机内存中占有一块内存区域,变量的值就存放在这块内存区域之中一个变量的访问(访问是指取出其值或向它赋值)方式有两种:(1)直接访问,通过变量名访问,如通过变量名i直接访问。(2)间接访问,通过该变量的指针来访问,如通过i_pointer访问变量i。§10.2变量的指针一、指针变量的定义指针变量有三个属性:(1)该指针变量指向的变量的类型。如i_pointer指向的变量i是整型。(2)该指针变量在内存中占多

2、少内存单元。如i_pointer占两个内存单元,称为“近指针”,用near表示。如果该变量在内存中占4个内存单元,称为“远指针”,用far表示。如果未指定near或far,缺省是near。(指针变量在内存中要么占2个内存单元,要么占4个内存单元)。(3)该指针变量指向哪一个变量,即该指针变量的值是多少。如i_pointer的值是2000。指针变量定义的一般形式:类型标识符*标识符如:int*pointer_1,*pointer_2;例、inti,j;/*定义两个整型变量*/int*pointer_1,*pointer_2;float*p

3、ointer_3;char*pointer_4;void*pointer_5;指针变量的赋值:例、pointer_1=&i;pointer_2=&j;注意,指针变量中只能存放地址,不能将一个非地址类型的数据(如常数等)赋给一个指针变量,如:pointer_1=100;也可以在定义指针变量的同时指定其初值,如:inta;int*p=&a;二、指针变量的引用有两个运算符可以引用指针变量:(1)&:取地址运算符。如pointer_1=&i;(2)*:指针运算符。用于访问指针变量所指向的变量。*和&是互逆运算例;i=3;直接访问ptr=&i;*

4、ptr=15;间接访问说明:1、在定义指针变量时,还未规定它指向哪一个变量,此时不能用*运算符访问指针。只有在程序中用赋值语句具体规定后,才能用*运算符访问所指向的变量。inta;int*p;(未规定指向哪个变量)*p=100;这种错误称为访问悬挂指针(suspededpointer)。正确的引用:inta;int*p;(未规定指向哪个变量)p=&a;(规定指向a)*p=100;2、区分:*运算符在不同场合的作用,编译器能够根据上下文环境判别*的作用。inta,b,c;int*p;(*表示定义指针)p=&a;*p=100;(*表示指针运

5、算符)c=a*b;(*表示乘法运算符)[例10.2]输入a和b两个整数,按先大后小的顺序输出a和b。main(){int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a

6、]题目要求输入a和b两个整数,按先大后小的顺序输出a和b。intswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b;int*pointer_1,*pointer_2;scanf("%d,%d",&a,&b);pointer_1=&a;pointer_2=&b;if(a

7、、b、c三个整数,按大小顺序输出。intswap(int*pt1,int*pt2){intp;p=*pt1;*pt1=*pt2;*pt2=p;}intexchange(int*q1,int*q2,int*q3){if(*q1<*q2)swap(q1,q2);if(*q1<*q3)swap(q1,q3);if(*q2<*q3)swap(q2,q3);}main(){inta,b,c,*p1,*p2,*p3;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);pri

8、ntf("%d,%d,%d",a,b,c);}§10.3数组的指针和指向数组的指针变量指针可以指向数组和数组元素,当一个指针指向数组后,对数组元素的访问,既可以使用数组下标,也可以使用指针。并且,用

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

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

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