函数局部变量和函数的参数在栈中的布局
生活随笔
收集整理的這篇文章主要介紹了
函数局部变量和函数的参数在栈中的布局
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include <stdio.h>
#include <iostream>using namespace std;
void func(int p1, int p2, int p3)
{int a = p1;int b = p2;int c = p3;std::cout << "函數(shù)參數(shù)入棧順序(棧在內(nèi)存中向上伸長):從右到左" << std::endl;std::cout << "&p1:" << &p1 << std::endl;std::cout << "&p2:" << &p2 << std::endl;std::cout << "&p3:" << &p3 << std::endl;std::cout << std::endl;std::cout << "函數(shù)內(nèi)局部變量入棧順序(棧在內(nèi)存中向上伸長):從下到上" << std::endl;std::cout << "&a:" << &a << std::endl;std::cout << "&b:" << &b << std::endl;std::cout << "&c:" << &c << std::endl;
}int main()
{func(2, 3, 4);return 0;
}
結(jié)果:
結(jié)論:誰先入棧誰的地址大
(1)、函數(shù)的參數(shù)入棧順序:從右向左。
(2)、函數(shù)內(nèi)的局部變量入棧順序:按照定義時的順序。
總結(jié)
以上是生活随笔為你收集整理的函数局部变量和函数的参数在栈中的布局的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GJB438B-2009 军用软件开发文
- 下一篇: 兼容西门子 CPU226IE量产方案