有关C指针表示的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 12:46:12
C int a[],int *p,p=a;int 占两个字节,此时的p指向第一个数组元素,那么下一个元素是p+1还是p+2?内存中是怎么表示的?

p+1。
指针在初始化的时候规定了基类型,这就让指针在做加减运算时提供了依据。

但是a数组首地址如果是2000。p+1指的地址是2002。这就牵扯到一个int型占两个字节。想一下~

下一个元素是P+1拉 比如内存从0开始 那么p指的就是0地址,因为是int型,所以p+1指的就是2啦(第一个int的内存是0和1嘛)

注意这个指针的“+”运算,它是会根据类型来作出不同的反应的,你就放心用吧

下一个元素是p+1