北京科技大学 《c语言》 第8章

北京科技大学 《c语言》 第8章

ID:24871909

大小:2.64 MB

页数:61页

时间:2018-11-16

北京科技大学 《c语言》 第8章_第1页
北京科技大学 《c语言》 第8章_第2页
北京科技大学 《c语言》 第8章_第3页
北京科技大学 《c语言》 第8章_第4页
北京科技大学 《c语言》 第8章_第5页
资源描述:

《北京科技大学 《c语言》 第8章》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1第8章指针C语言程序设计北京科技大学计算机系2021/10/428.1指针和指针变量8.2指针与数组8.3指针与函数第8章指针2021/10/438.1指针和指针变量main(){floatx;inty;…}8.1.1指针和指针变量的概念变量的两个物理意义200020012002200320042005…xy变量的内容变量的地址2021/10/448.1指针和指针变量main(){inta,b,c;a=5;b=3;c=a+b;…}8.1.1指针和指针变量的概念200020012002200320042005abc5直接将整数5存入变量a3直接将整数3存入变量b8直接将变量a、b的值取出

2、,相加后存入变量c利用变量名存取数据的方式称为“直接存取”方式。2021/10/45C语言还提供了对内存单元的“间接存取”方式p20002001200220032004200520062007abc532004a和b相加的结果(*p=a+b)存放到变量p所指向的内存单元中去。此时c称为指针变量p的目标变量。p2004cp=&c8main(){inta=5,b=3,c,*p;p=&c;*p=a+b;…}8.1指针和指针变量8.1.1指针和指针变量的概念●变量的地址称为变量的指针●存放地址的变量称为指针变量8.1指针和指针变量指针变量的定义形式数据类型*指针变量名;数据类型:指针变量的目标变

3、量的类型一个指针变量分配2Byte的内存空间例:floatx,*p1,*p2;inty,*p3;charname[20],*cp;2021/10/468.1.2指针变量的定义2021/10/47main(){inta,*p=&a;floatx,*q=&x;…}2000200120022003200420052006200720082009apxq20048.1指针和指针变量8.1.2指针变量的定义2000main(){inta,*p;floatx,*q;p=&a;q=&x;…}指针变量定义的形式指针变量初始化2021/10/48main(){inta,*p=&a;floatx,*q=&x

4、;*p=5;printf("a+3=%d",*p+3);…}间接存取运算2000200120022003200420052006200720082009apxq20048.1指针和指针变量8.1.3指针的基本运算200052021/10/492000200120022003200420052006200720082009apxq20048.1指针和指针变量8.1.3指针的基本运算2000*p=&a;×main(){inta,*p;floatx,*q;p=&a;q=&x;…}赋值运算“=”两侧类型一致;NULL可赋给任何类型的指针变量p=2000;×2021/10/410方法1:目标变

5、量值不变,改变指针变量的 指向求解。main(){inta,b,*p1,*p2,*p;p1=&a;p2=&b;scanf(″%d%d″,p1,p2);if(*p1<*p2){p=p1;p1=p2;p2=p;}printf(″a=%d,b=%d″,a,b);printf(″max=%d,min=%d″,*p1,*p2);}【例8.1】输入a、b两个整数, 使用指针变量按大小顺序输出 这两个整数。abp1p2p68a=6,b=8max=8,min=68.1.3指针的基本运算2021/10/411方法2:利用指针变量直接改变目标变量的值 求解。main(){inta,b,t,*p1,*

6、p2;p1=&a;p2=&b;scanf(″%d%d″,p1,p2);if(*p1<*p2){t=*p1;*p1=*p2;*p2=t;}printf(″a=%d,b=%d″,a,b);printf(″max=%d,min=%d″,*p1,*p2);}a、*p1b、*p2p1p2t68a=8,b=6max=8,min=66868.1.3指针的基本运算2021/10/412指针的加减运算8.1.3指针的基本运算main(){inta[]={10,20,30,40,50},*p1,*p2;p1=p2=a;printf(″p1=%u,*p1=%d″,p1,*p1);p2+=3;pri

7、ntf(″p2=%u,*p2=%d″,p2,*p2);}P1=404,*p1=10P2=410,*p2=40404405406407408409410411412413a[0]a[1]a[2]a[3]a[4]3020104050p1p2指针加减运算要点:①只有当指针变量指向数组时指针的加减 运算才有意义。②指针变量可加减一个整型表达式。如:p1++、p2+3、p2--、p2-2。③指针的加减运算是以基类型为单位(即sizeof(

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

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

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