请教下,关于指针的问题
本帖最后由 cykefu 于 2012-12-5 17:59 编辑void main()
{
int a = {9,8,7,6,5,4,3,2,1,0};
int i, *pointer;
pointer = &a;
for(i=0; i<10; i++)
{
printf("%d\n", * (pointer + i * 4));
}
}请问下,* (pointer + i * 4);这里为什么不是i*4呢,而是i,我的想法是,他累加一个数组成员 应该偏移4个字节才对吧,想不通,求解 本帖最后由 huise865 于 2012-12-5 18:16 编辑
指针+n等于是物理地址加上了sizeof(指针所指向的变量类型)*n
这样说你理解吗?:lol
int型的指针+1实际上 等于指针+(4*1)
明白了,非常感谢 {:13_450:} 赞一个
页:
[1]