1. 程式人生 > >c 指針初探

c 指針初探

生成 nbsp logs style bsp int pre mov col

1 int main()
2 {   
3    int x = 1;    
4    int *p = &x; 
5    *p = 4;  
6     return 0;
7 }

生成的匯編如下

1 movl    $1, -12(%rbp)     x=1 壓棧到 M(%rbp - 12)
2 leaq    -12(%rbp), %rax   取&x 到寄存器 %rax  *p = &x
3 movq    %rax, -8(%rbp)    p  壓棧 
4 movq    -8(%rbp), %rax    讀 p 到寄存器 
5 movl    $4
, (%rax) p中的值 = 4

從以上得知,指針就是地址, *p 就是地址的中值。

c 指針初探