C语言关于指针

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:18:59
main()
{ int i,*p,a[7];
p=a;
for(i=0;i<7;i++)
scanf("%d",p++);!!!着句嘛意思!!能具体解释下吗?scanf不是输入函数吗?~~(P应该是个地址才对啊~怎么可以自加呢?)
printf("\n");

for(i=0;i<7;i++,p++)
printf("%d",*p);
}

记得有本书 是吧指针比喻成家庭主旨的门牌号。
如果数组是一个街的每家每户的门牌好,那你指针指向的是第一家的门牌好。
你地址加一就是下一家。 所以不知道楼主可以理解么

scanf是输入函数那个指针自加并不是一个一个的加不是我们想象的那样地址+1而是加一个单位这个地方指的是整数所以加的是4个字节ok?

p=a;
这句话已经让指针P指向了数组a的第一个元素,然后scanf("%d",p++);这句话先给p指向的元素a[0]输入值,然后再让p++,也就是在这句话运行完后,p指向了a[1]。然后再循环使用。后面的你应该就知道了。

p是地址,p++代表p的下一个地址