C中*(a [1])和*(* a + 1)之间有什么区别?

时间:2012-08-30 15:06:49

标签: c pointers

当我在gdb中调试它们时,它们似乎有所不同。

 (gdb) p order[1]
 $16 = (struct order_s *) 0x746440
 (gdb) p *order+1
 $17 = (struct order_s *) 0x746430
 (gdb) p *order
 $18 = (struct order_s *) 0x746420

C中的* a [1]和*(* a + 1)之间有什么区别?

1 个答案:

答案 0 :(得分:8)

操作顺序。 a[1]*(a+1)相同。因此,*a[1]*(*(a+1))相同。如果你有*(*a+1),那么你实际上在做*(a[0]+1)