c++ - c语言中的内存分配
PHPz
PHPz 2017-04-17 11:04:28
0
4
473

这个问题是关于c和c++中对于参数,变量在内存中地址分配的问题。对于以下代码

int main (int argc, char *argv[]) {
  int a;
  int b;
  a = 1;
  b = 2;
  return 0;
}

我的理解是,main函数是通过初始函数调用,main函数实际和其他函数一样。
在初始函数调用main函数后,会先将返回地址压入堆栈,接着将参数压入堆栈。面对函数中定义的局部变量,将会按照定义顺序分配堆栈内存空间。而堆栈是从高地址向低地址生长的,所以我认为&a > &b。
然而,在gdb调试过程中,我发现&b > &a。请问我的理解在哪里错了?

PHPz
PHPz

学习是最好的投资!

全部回覆(4)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!