c语言指针函数和一维数组求解?如图

 我来答
百度网友7c25c9c
推荐于2016-04-24 · TA获得超过413个赞
知道答主
回答量:83
采纳率:0%
帮助的人:76.8万
展开全部
*加地址变量是取这个地址里的值
数组的p[]就是这个数组p的第一个地址(也就是这个数组的地址),C语言自己会把a当做a[]
所以你传到函数里的*p指针就是a数组的首地址,即a,我一般写程序为了区分常写作a[],
而读上了这个数组的首地址以后*(p+i)就是取这个数组的首地址后的i个地址内的数据,而开的数组的地址是连续的,所以可以输出你数组里的数据,而最后输出的p[i]的操作方式是输出p数组的第i个数,说白了就是两种取数组里值的方法而已
更多追问追答
追问
数组的元素就是地址吗
追答
数组元素不是地址,对于一个数组而言比如 int a[100];那么电脑会开出100个连续的地址出来,这100个连续的地址里的空间用来存储数据,而它的首位地址的表示方法就是a,或者a[],也就是&a[0],而其中数组元素存储的数据是整型数值,所以你那里f(a,5)也同样可以写作f(a[],5);或者f(&a[0],5);如果我没有记错的话
还有什么问题么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式