*(p+i)=i;是指将i(i是变化的),赋给以p为首址的控制,假设p的地址为0x20,则第一个数为0(i从0开始,到9),0x21地址的值为1,以后的地址类似。
如果仅是*p=i;则只会在0x20(还是假设p的首址为0x20),变化值(即0x20的值依次为0,1,2....),0x21及后续地址不会被赋值。
p=a;
这句话表示p是a[0]的地址
p+i就是a[0+i]也就是a[i]的地址
*(p+i)=i就等价于a[i]=i
而*p=i等价于a[0]=i
最后程序的输出是:
a[0]=0
a[1]=1
a[2]=2
a[3]=3
a[4]=4
a[5]=5
a[6]=6
a[7]=7
a[8]=8
a[9]=9