C语言中数组元素a[5]可以用*(p+5)表示,那么*(p+i)就应该表示的是a[i],是数组的第
2个回答
展开全部
你要问什么问题?注意数组中的下标是从0开始的,第i个元素实际上是第i+1个元素了,这要把题意理解好:i是元素下标,元素个数是i+1,要看题目要求的是什么了。
更多追问追答
追问
对啊,那书上为什么要写表示*(p+i)表示数组中第i个元素,不应该写第i+1个元素,那么还有个问题,i若取0,按书上说法为数组第0个元素,数组有第0个元素吗?
追答
已经提醒你把题意弄清楚了!正规书上都是从“第0个元素”开始计数的,否则大家就没有共同语言了!所以要把序数和计数搞清楚,下标是序数,个数是计数。第0个元素就是第0号元素!每个字节是8位,但最高位却说是第7位或D7位是不是?
展开全部
这段话是正确的。p是指针,p+5对应的是a[5]的地址,*(p+5)是a[5]的值。
更多追问追答
追问
那么*(p+i)是不是就表示a[i]的值呢?如果表示a[i]的值,那么就是说*(p+i)表示数组第i+1个元素才对啊?
追答
p+i表示数组第i个元素的地址,*(p+i)表示数组第i个元素。不是第i+1个元素。
对于数组a[i],第一个是a[0],i是0,不是1,因此*(p+i)表示数组第i个元素。不是第i+1个元素。
C语言中,对于数组a[i],从a[0]开始,是第0个元素、第1个元素,你应该是以为是从1开始了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询