关于函数参数入栈顺序(完善中)

来源:互联网 发布:mac icloud备份 编辑:程序博客网 时间:2024/06/06 17:59

判断函数参数入栈顺序的一个参数代码如下:

void f(int i, int j, int k);
int main(void)
{
int a = 1, b =2, c = 3; 
f(a,b,c);
return 0;
}
void f(int i, int j, int k)
{
int h;
int g;
printf("k:%x\n",&k);
printf("j:%x\n",&j);
printf("i:%x\n",&i);
printf("h:%x\n",&h);
printf("g:%x\n",&g);
}

//C程序中,栈底为高地址,栈顶为低地址

如果f函数中,三个变量所分配地址顺序为k-->i和h-->g的顺序相同,说明函数的入栈顺序是从右向左;

1 0