形式参数和实际参数
形式参数和实际参数在函数调用中扮演不同的角色:
1. 形式参数:形式参数是在函数定义时声明的变量,它指定了函数需要的参数类型和参数名称,但并未实际分配内存和赋值。例如,在C语言中,如果一个函数声明为int sum(int a, int b),其中a和b就是形式参数,它们指定了sum函数需要两个整型参数。需要注意的是,形式参数只在函数调用时才分配内存空间,并且在函数调用结束后,形参占用的内存空间被释放。
2. 实际参数:实际参数是在函数调用时实际赋值和分配内存空间的参数。例如,在sum(c,2)中,变量c和常量2都是实际参数,它们具有真正的值和内存空间。实际参数在函数调用时会拷贝给对应的形式参数,即c和2的值会被拷贝给形参a和b指向的内存空间。需要注意的是,实际参数的类型必须和形式参数的类型相同或兼容。
总的来说,形式参数和实际参数的主要区别在于,形式参数是函数声明和定义时的参数名称和类型,而实际参数是函数调用时的实际值。形式参数在函数调用时会分配内存空间,并通过值传递方式接收实际参数的值。
