歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux 函數局部變量的堆棧使用

Linux 函數局部變量的堆棧使用

日期:2017/3/1 11:15:29   编辑:Linux編程

從這個例子的輸出,可以看到從高地址開始分配,所以a1的地址是比a2大;這裡要注意的時,單從一個數組來分析的話,比如aa,

那麼地址是從低位開始的,也就是如果我們對aa的操作越界了的話,那麼可能會把a1和a2的值給覆蓋掉,是從低往高處踩內存的。


void print(int b1,int b2)
{
int a1=0,a2=1;

printf("a1 addr:0x%08x\n\n",&a1);
printf("a2 addr:0x%08x\n\n",&a2);


int aa[2];
printf("aa1 addr:0x%08x\n\n",&aa[0]);
printf("aa2 addr:0x%08x\n\n",&aa[1]);
return ;
}


輸出是

a1 addr:0x0ee07f3c

a2 addr:0x0ee07f38

aa1 addr:0x0ee07f30

aa2 addr:0x0ee07f34

Copyright © Linux教程網 All Rights Reserved