引用做输入参数,push的时候push的是其地址值。
#include <stdio.h>
int su_1(int & a_, int b_)
{
int c;
c=a_+b_;
return c;
}
struct AA{
int aa;
int bb;
};
typedef AA TYPE;
TYPE su_3(TYPE a_, TYPE b_)
{
TYPE c;
c.aa=a_.aa+b_.aa;
c.bb=a_.bb+b_.bb;
return c;
}
int main()
{
//TYPE a={100,200};
//TYPE b={300,400};
//TYPE c;
//c=su_3(a,b);
int a=1;
int b=2;
int c=su_1(a,b);
return 0;
}
su_1有一个引用参数。
调用函数时:

函数内部:

先把地址值送到eax寄存器,再取地址值对应的int变量值到ecx,再进行加法计算。
C语言引用参数解析

被折叠的 条评论
为什么被折叠?



