c语言程序设计经典教程cla

c语言程序设计经典教程cla

ID:36056917

大小:1.10 MB

页数:24页

时间:2019-05-01

c语言程序设计经典教程cla_第1页
c语言程序设计经典教程cla_第2页
c语言程序设计经典教程cla_第3页
c语言程序设计经典教程cla_第4页
c语言程序设计经典教程cla_第5页
资源描述:

《c语言程序设计经典教程cla》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第八章指针主要内容8.1指针和指针变量8.2指针与数组8.3字符串的指针重点熟练掌握指针的定义和引用;掌握用指针来处理数组;掌握用指针来处理字符。2A直接BA间接预备知识直接和间接的含义内存即内部存储器,是由内存单元组成特点存储单元的最小单位为字节存储单元是线性连续的…………3内存计算机的内存中的每一个字节都有一个编号每一内存单元具有唯一的内存地址系统为每一个已定义的变量分配一定存储空间>>使变量名与内存的一个地址相对应通过地址就能够访问该地址所标识的存储单元程序处理过程根据地址取出变量所对应的内存单元中存放的值参与

2、计算/操作处理结果存入相应的变量名所对应的内存单元…………0123…2000地址45变量内容4高级语言中的变量具有三个属性变量的名变量的值变量的地址编程者使用c程序的一个变量定义变量的数据类型数据类型决定了一个变量在内存中所占用的存储空间的大小变量在内存中总是占用几个连续的字节定义变量名C语言的编译系统会根据变量的数据类型为该变量分配内存单元确定变量的地址变量的地址就是为变量分配的内存单元的起始编号通过变量名对内存中变量对应的地址进行操作C语言如何处理?5指针的概念inta,b,c;a=10;b=20;c=a+b;10

3、0010021004内存abc102030正常解释实际情况100010021004内存变量名内存单元的起始地址长度内存地址与变量对照表abc1000210022100421020102030在使用变量时总要去查表,降低了运行效率,也颇感不便。解决方案p1000这是变量a的地址这是变量,存放的是变量a的地址——指针变量。8.1指针和指针变量6指针变量的定义一般形式为:类型符*指针变量名;如:int*p;int*q,*r;floata,*b;char*s1,s2;p、q、r、b、s1均为指针变量;a、s2为普通变量。约定:

4、指针变量的图形表示,如:int*p;普通变量的图形表示,如:inta;↙pa7指针变量的引用两种基本的指针运算:&:取变量的地址*:指针运算符(或称“间接访问”运算符)如:inta=10,*p;p=&a;printf(“%d,%d”,a,*p);输出:10,10↙10pa&a直接访问间接访问8[例8.1]通过指针变量存取变量的值。main(){inta,b;int*p1,*p2;printf(“a=%d,b=%d”,a,b);printf(“*p1=%d,*p2=%d”,*p1,*p2);}a=10;b=20;

5、p1=&a;p2=&b;p1=&a;p2=&b;a=10;b=20;程序1程序2程序3程序4p1=&a;p2=&b;*p1=10;*p2=20;*p1=10;*p2=20;p1=&a;p2=&b;ab↙p1↙p21020&a&b1020&a&b1020&a&b???!!!!使用指针之前,一定要使指针有明确指向。!指针变量未存储确定地址时,不能使用,否则会造成系统的崩溃!9[例8.2]输入a和b两个数,按先大后小的顺序输出,a和b的值不变。main(){inta,b,*p1,*p2,*p;scanf(“%d,%d”,&a

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

7、[0];q=&a[2];*p=5;*q=8;a[0]a[1]a[2]a[3]a[4]p↙↙q&a[0]&a[2]5811C语言规定:数组名代表数组的首地址,也就是第一个元素a[0]的地址。因此:a&a[0]。若:p=a;/*或写成p=&a[0];*/则:p+1&a[1]*(p+1)a[1]p+i&a[i]*(p+i)a[i]实际上,C语言编译系统在处理下标变量时,要把它转换成地址法的形式。p+1指向数组的下一个元素a[0]a[1]a[2]a[3]a[4]app+1a[i]*(a+i)*(p+i)p[i]1

8、2引用一个数组元素,可以用下标法或指针法。通过数组的起始地址计算数组元素的地址,即*(a+i)或*(p+i)形式。用指针变量处理数组元素,即p++形式:main(){inta[5]={3,8,9,2,6},i,*p;p=a;for(i=0;i<5;i++){printf(“%d“,*p);p++;}}↙38926api0输出结果:

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

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

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