【C语言】指针访问一维数组

指针,指到一个变量的地址。

那么对于一维数组,存储空间是连续的。指针指向数组中第一个元素的地址 ,所以可以通过移动指针进行依次访问。

数组理解起来也可以看作一个指针。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;
}
相关推荐
liulilittle1 分钟前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
陈小桔4 分钟前
logging模块-python
开发语言·python
消失的旧时光-19434 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
!停5 分钟前
C语言栈和队列的实现
开发语言·数据结构
源代码•宸6 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
期待のcode8 分钟前
TransactionManager
java·开发语言·spring boot
郝学胜-神的一滴8 分钟前
Linux系统编程:深入理解读写锁的原理与应用
linux·服务器·开发语言·c++·程序人生
Larry_Yanan9 分钟前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
代码游侠18 分钟前
学习笔记——ESP8266 WiFi模块
服务器·c语言·开发语言·数据结构·算法
行者9623 分钟前
Flutter跨平台开发适配OpenHarmony:进度条组件的深度实践
开发语言·前端·flutter·harmonyos·鸿蒙