首先要明确一个概念:实参和形参
在值传递过程中,被调函数的形式参数作为被调函数的局部变量在栈中分配内存空间,主调函数的实际参数的值被复制并存入该内存空间,形成实际参数的一个副本。
形参和实参各占一个独立的存储空间。
形参的存储空间是函数被调用时才分配的,调用开始,系统为形参开辟一个临时的存储区,然后将各实参传递给形参,这是形参就得到了实参的值。
传值调用
形参和局部变量一样,都是在被执行时,在栈中临时开辟一个存储空间,用来存储实参传过来的值,函数执行结束后,再释放掉,这也是为什么形参的改变不会影响实参的值的根本原因。
下面来看这段代码片
void case1(int x, int y)//定义中的x,y变量是case函数的两个形参
{
x=5;
y=6;
printf("x=%d,y=%d\n", x, y);
}
int main()
{
int a =