$1 = (int *) 0x7fffffffde6c
(gdb) p &i
$2 = (int *) 0x7fffffffde70
(gdb) p &b
$3 = (int *) 0x7fffffffde74
(gdb) p &p
$4 = (int **) 0x7fffffffde78
(gdb) p *p
$5 = 3
(gdb) p p
$6 = (int *) 0x7fffffffde6c
你想表达什么?我不是很明白,但是我估计你可能是下面的问题,所以只以为是的解释一番,请斧正。
(gdb) p p
$6 = (int *) 0x7fffffffde6c
这个时候的输出的p的值表示p这个变量存入的地址,指的是p所代表的地址
(gdb) p &p
$4 = (int **) 0x7fffffffde78
这个时候的输出的值是表示p这个变量在内存中的地址,指的是p本身的地址