文档详情

6-2指针与数组讲解.pptx

发布:2024-07-29约1.01千字共6页下载文档
文本预览下载声明

Email:1111111@主讲:周明龙智能控制程序设计安徽机电职业技术学院

指针和数组有着密切的关系。数组是由同一类型变量组成的有序集合,其本身存储的是各种类型的数据,而指针则是专门用来存放其他变量地址的变量。当一个指针变量存有某一个变量的地址时,则这个指针就指向该变量。定义一个指向数组元素的指针变量的方法,与指向变量的指针变量相同。例如:inta[10];int*p;应当注意,如果数组为int型,则指针变量的基类型也应为int型。对该指针变量赋值:p=&a[0];把a[0]元素的地址赋给指针变量p。也就是使p指向a数组的第0号元素,如图所示:定义时也可以写成:int*p=a;作用是将a的首地址给指针变量p(而不是*p)。

通过指针引用数组元素引用一个数组元素有两种方法:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。其中a是数组名,p是指向数组元素的指针变量,其初值p=a。例如:定义inta[10];int*p;p=a[1];*p=1;而p+1指向同一数组的下一个元素a[2]。这里p的值(地址)加了2个字节,p+1=p+1×d(整型,d=2;实型,d=4;字符型d=1)指针变量所指数组元素的地址的计算,与数组数据类型有关。

例1使用指向数组的指针变量输出数组中全部元素。#includestdio.hvoidmain(){inta[5],i,*p;for(i=0;i5;i++){scanf(%d,a[i]);}printf(\n);for(p=a;p(a+5);p++)printf(%d,*p);}

例2输入10个整数,求这10个数的平均值。#includestdio.hmain(){inti,j,a[10],sum=0;for(i=0;i10;i++){scanf(%d,a+i);}for(i=0;i10;i++){sum+=a[i];}putchar(\n);printf(%d,sum/10);}

Email:1111111@主讲:周明龙安徽机电职业技术学院谢谢

显示全部
相似文档