指针与一维数组

指针与一维数组

ID:78044072

大小:194.88 KB

页数:5页

时间:2022-01-30

指针与一维数组_第1页
指针与一维数组_第2页
指针与一维数组_第3页
指针与一维数组_第4页
指针与一维数组_第5页
资源描述:

《指针与一维数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第42讲指针与一维数组一维数组与才旨针数组一旦被定义,数组元素将在内存中占用一段连续的存储单元,数组名就是这段连续存储单元的首地址,,可以通过指针访问数组元素O指向数组的指针变量的定义:inta[10],p;赋值:p=&a[O];//指4十p指向数组的第一个元素a[0]初始化:inta[10]/p=&a[0];inta[10],p=a;、p和a都是数组的首地址组的名称的指针,不能改变,但a为数p为指向a其指向可以发生改变p=a;〃指针p指向数组的首地址p=&a[O];p=p+l;p=&a[O];p=p+i;才旨向数组的指r针变量的加减inta[10]/p=a;a和p均宓指向a[0

2、]的指针,此时:a和p均表示a⑼P是指针变量,值可以被改变,但若执行操作:p=p+l,则:p=?p指向谁?C语言规定:指针变量加1表示指向下一个元素,减1指向前一个元素'O〃dp;^y8B,dp-^x[l]doublex[10],dp=x;//dp指向x[0]dp++;dp=&x[3];dp+=3;//p-a[l],p力口了4B(VC,int4B)//p-a[i],p加了(i4)B利用才旨针访问数组元素inta[10]/p=a;数组首定址:a或p;数组元素a[i]的地址:a+i或p+i;数组元素/0]:木a或木p数组元素aji]:(a+i)£(p+i)也就是说,下标为i的数组元素

3、可表示为:下标法:a[i]p[i]指针法:(a+i)(p+i)数组元素a[i]地址的表示方法:&a[i]a+i&p[i]p+i例]才旨向数组元素的才旨针变量#includevoidmain()(inta[10]={10,HJ2,13,14,15,16,17,18,19);intp;p=&a[2];printf(,lp=%du,p);p=p+3;printf("p=%d"/p);p=p-4;printf(

4、分析运行结果。#includevoidmain()(inta[10]/p;doublex[10]/dp;for(i=0,p=a;i<10;i++)〃p每次加4个字节(VC){printf("%X';p);P++;)for(i=0,dp=x;i<10;i++)〃dp每次加8个字节(printf("%X,dp);例2运行下面的程序,分析运行结果。#includevoidmain()staticinta[10]={l,2,3};intp;p=&a[0];printff'a=:%X",a);printf("&a[0]=:%X",&a[0

5、]J;printff"p=:%X",p);printf("p=:%X,,,p);例4运行并分析下面的程序段:inta[10]={L2,3,4,5,6,7,8,9,0},ip=a;forQ=0;i<10;i++)suml+=a[i];for[i=0;i<10;i++]sum2+=ip++;ip=a;for[i=0;i<10;i++]sum3+=(ip+i];〃下标法,使用下标访问数组元素〃指针法,指针依次指向每个元素〃不能省略,重新指商a[0]〃方法3ip=a;〃此句可以省略,方法3没有修改ipfor(i=0;i<10;i++)〃方法4sum4+=ip[i];for(i=0

6、;i<10;i++)sum5+=(a+i);〃方法5练习题1、编写程序,通过指针移动的方式,使指针分别指向偶数位置的数组元素,来输入输出数组中对应的元素的值。2、编写程序,设置两个指针,分别指向数组的首、尾元素,通过两个指针的不断移动,交换前后的数组元素,使数组逆序。

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

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

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