实参与形参
void func(int a,int b){//形参
...
}
int main(){
...
func(x,y);//实参
...
}
被调函数的参数是形参
出现在主调函数中的是实参
值传递
实参是形参的初始值,除此之外,实参与形参再无关系。
指针传递
指针本身的值并不改变,改变的是指针所指的值。
void func1(int *a, int *b) {
*a = *b;//改变a所指的值,main函数中的*x变为*y的值
}
void func2(int *a, int *b) {
a = b;//改变a本身的值,main函数中的*x不变
}
int main() {
//x,y都是int*
func1(x, y);
func2(x, y);
}
引用传递
形参是实参的别名,在逻辑上可以看作是同一个变量。