局部变量到底是怎么入栈的?

在课堂上我们时常听到老师说或者在网上看到各种网友说:在函数中局部变量时先定义先入栈,他们的说说法对么?

可以说他们说得对,但严格来说是不对的,因为这个到底怎么入栈完全得看编译器,说先定义先入栈的肯定是用的VC(比如vc6.0)系列的编译器,但是VS或者在Linux中,完全不是这样,具体是怎么入栈的,得看写这个编译器的人,但是总体来说都有一定的规律可循。比如 数组的地址肯定高于单个变量的地址。

 

所以:vc   先定义先入栈

          其他编译器未知。但是VS和linux本人亲自验证过不是先定义先入栈

你可能感兴趣的:(C中函数怎么入栈?)