指针与一维数组_第1页
指针与一维数组_第2页
指针与一维数组_第3页
指针与一维数组_第4页
指针与一维数组_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、均表示ap是指针变量,值可以被改变,但若执行操作:p=p+l,则:p=? p指向谁?c语言规定:指针变量加1表示指向下一个元素,减1指向前一个元 素odp;y8b, dp-xldouble x10,*dp=x;/ dp指 向x0 dp+;dp=&x3;dp+=3;/p-al, p力口了4b (vc, int4b) /p-ai, p加了 (i*4) b利用才旨针访问数组元素int a10/p=a;数组首定址:a或p;数组元素ai的地址:a+i或p+i;数组元素/0:木a或木p数组元素aji: *(a+i) *(p+i)也就是说,下标为i的数组元素可表示为:下标法:ai pi指针法:*(a+i)

3、*(p+i)数组元素ai地址的表示方法:&ai a+i &pi p+i例才旨向数组元素的才旨针变量#include void main()(int a10=10,hj2,13,14,15,16,17,18,19);int *p;p=&a2;printf(,l*p=%dnu, *p);p=p+3;printf(*p=%dn/ *p);p=p-4;printf(r*p=%dn: *p);*p=12*p=15pp=ll/数组a的首地址 /元素a0的地址 /元素ajoj的地址 /元素a0的值洌3运行下面的程序,分析运行结果。#include void main()(int a10/p;double x

4、10/dp;for (i=0,p=a;i10;i+)p每次加4个字节(vc)printf(%xn;p);p+;)for (i=0,dp=x;i10;i+)dp每次加8个字节(printf(xn,dp);例2运行下面的程序,分析运行结果。#include void main()static inta10=l,2,3;int *p;p=&a0;printff a=:%xn,a);printf(&a0 = :%xn,&a0j;printff p=:%xn,p);printf( *p=:%xn,*p);例4运行并分析下面的程序段:int a10 =l2,3,4,5,6,7,8,9,0,*ip=a;for q=0;i10;i+) suml+=ai;for i=0;i10;i+sum2+=*ip+;ip=a;for i=0;i10;i+ sum3+=*(ip+i;下标法,使用下标访问数组元素指针法,指针依次指向每个元素不能省略,重新指商a0方法3ip=a;此句可以省略,方法3没有修改ipfor (i=0;i10;i+)方法4sum4+=ipi;for (i=0;i10;i+) sum5+=*(a+i);方法5练习题1、编写程序,通过指针移动的方式,使指针 分别指向偶数位置的数组元素

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论