a+=b 相当于 a=a+b,但好处在于:
如果a是一个表达式,前者对表达式a只求值一次,而后者求值两次.
左值a 就是 int a=0; 定义的a.
*(a+k)
这里的a是上面的指针数组的首地址(数组名表示数组首地址),k表示地址移位,a+k得到数组中某个元素的地址.数组一共8个元素,元素地址就是从0~7,因此for循环中k是从0~7的.
*(a+k) 表示取地址为(a+k)的那个数组元素值.
a+=b 相当于 a=a+b,但好处在于:
如果a是一个表达式,前者对表达式a只求值一次,而后者求值两次.
左值a 就是 int a=0; 定义的a.
*(a+k)
这里的a是上面的指针数组的首地址(数组名表示数组首地址),k表示地址移位,a+k得到数组中某个元素的地址.数组一共8个元素,元素地址就是从0~7,因此for循环中k是从0~7的.
*(a+k) 表示取地址为(a+k)的那个数组元素值.