指针,指到一个变量的地址。
那么对于一维数组,存储空间是连续的。指针指向数组中第一个元素的地址 ,所以可以通过移动指针进行依次访问。
数组理解起来也可以看作一个指针。main函数中第二行,此处没有加取地址符号&。
从第一个for循环的输出可以看出来,通过数组下标访问和指针移动来访问,都是同一个存储位置。
cpp
#include <stdio.h>
#include <math.h>
/* 功能:指针访问一维数组
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
// 指针:指针指向数组第一个元素,地址后移访问数组
int main() {
double score[5] ={90.5,91.0,92.0,93.5,94}; // 定义数组
double *p=score; // 指针指向数组第一个元素
int i;
double sum=0.0;
printf("数组元素为:\n");
for(i=0;i<5;i++) // 移动下标依次访问
printf("score[%d]:\t%5.2f\t%5.2f\n",i,score[i],*(p+i));
for(p=score;p<score+5;p++) // 移动指针
sum+=*p;
printf("平均数为:%5.2f\n",sum/5);
return 0;
}