对啊,那书上为什么要写表示*(p+i)表示数组中第i个元素,不应该写第i+1个元素,那么还有个问题,i若取0,按书上说法为数组第0个元素,数组有第0个元素吗?
追答已经提醒你把题意弄清楚了!正规书上都是从“第0个元素”开始计数的,否则大家就没有共同语言了!所以要把序数和计数搞清楚,下标是序数,个数是计数。第0个元素就是第0号元素!每个字节是8位,但最高位却说是第7位或D7位是不是?
追问我知道了
那么*(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开始了。
如果i取0呢?数组第0个元素?还是这个第0个元素用我们的话来说它就是第1个元素呢?
追答C语言中,对于数组a[i],从a[0]开始,是第0个元素、第1个元素、……,你应该是以为是从1开始了。
数学上也有类似的情况。例如数列{an},给出a0=...,那么a0是数列的第0项。
哦,我知道了,谢谢
追答对于数组a[i],从a[0]开始,i从0开始。
追问嗯嗯,我只是觉得书上说的数组第0个元素实际表示数组的第1个数有点不可思议
追答嗯。
本回答被提问者采纳