11.16C程序设计语言----指针与数组

本文详细介绍了C语言中指针与数组的关系及其应用。通过实例解释了如何使用指针操作数组元素,并探讨了指针与数组下标的运算关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对今天学习C语言的做个小结。今天学习到了指针与数组这一块了,对于学习指针我都是很细心的一个点一个点看,在C语言中,指针与数组之间的关系是非常重要的,所以必须重视。首先知道通过数组下标能完成的任何操作都可以通过指针来实现的,用指针来编写的程序会比用数组下标编写的程序执行速度快,但是,指针实现的程序理解起来会比较吃力一些的了

首先举个例子说说吧

声明

int  a[10];

定义了一个长度为10的数组a。意思就是说它定义了10个对象组成的集合,这是个对象存储在相邻的内存区域中,名字分别为a[0],a[1],···a[9],如图(一)所示:

 图一:

a[i]表示该数组的第i个元素。那么pa的声明为int  *pa;则说明它是一个指向整型对象的指针,那么,赋值语句pa=& a[0];则可以将指针pa指向数组a的第0个元素,也就是说,pa的值为数组元素a[0]的地址。如图(二)所示:

图二:

 

这样子呢,赋值语句 x = *pa;将把数据元素a[0]中的内容复制到变量x中了。我们就可以推理出pa+1就将指向下一个元素,pa+i将指向pa所指向数组元素之后的第i个元素,同理,pa-i指向pa所指向数组元素之前的第i个元素。那么,如果指针pa指向a[0],那么*((pa+1)引用的是数组元素a[1]的内容,pa+1是数组元素a[i]的地址,*((pa+1)引用的是数组元素a[i]的内容。如图(三)所示:

 图三:

无论数组a中的元素类型或数组长度是什么,上面的结论都成立。“指针加1”就意味着pa+1指向pa所指向的对象的下一个对象。

接下来说的是下标和指针的元算,这两者有着非常密切的关系!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值