什么';C中*(a[1])和*(*a&x2B;1)的区别是什么?
当我在gdb中调试它们时,它们似乎是不同的什么';C中*(a[1])和*(*a&x2B;1)的区别是什么?,c,pointers,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)有什么区别?操作顺序a[1]与*(a+1)相同。因此,*a[1]与*(*(a+1))相同。如果你有*(*a+
(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)有什么区别?操作顺序
a[1]
与*(a+1)
相同。因此,*a[1]
与*(*(a+1))
相同。如果你有*(*a+1)
,那么你实际上是在做*(a[0]+1)