3

当我在 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)有什么区别?

4

1 回答 1

8

操作顺序。a[1]是一样的*(a+1)。所以,*a[1]是一样的*(*(a+1))。如果你有,*(*a+1)那么你实际上是在做*(a[0]+1).

于 2012-08-30T15:08:01.483 回答