c语言地址加减问题请教

2025-02-28 23:37:01
推荐回答(5个)
回答1:

因为a本身就是代表数组的地址,即a[0]的地址
a[0]的下一个地址即是a[1]了!!!

回答2:

这个问题不是这样理解的。
其实指针做偏移操作的时候是根据指针的类型来做出移位判断,比如这个例子里面指针是整形,所以每次偏移的时候是按照整形的长度(4字节,32位)偏移。这样从编程角度来看就是对整形数组做一个偏移操作。

回答3:

原来是a【0】 的地址,加八个字节刚好int长度啊,数组开出来在内存里是连续的,自然跳到a【1】的地址了

回答4:

赋值语句p=a+1就是把数组的第二个元素的地址赋给p

回答5:

你加1不是下一个数组元素的地址,应该是加4,整型4个字节,所以加4.