C语言中当形参是指针,实参是什么?当实参是指针,形参是什么?为什么?

2025-04-01 18:04:21
推荐回答(2个)
回答1:

第一个问题:
形参是指针,实参就应该是对应数据类型的地址。

例如:
swap(int *x,int *y)

{
int t ;

t = *x;

*x = *y;

*y = t;

}
int main()
{
int a = 2,b=6;
swap(&a,&b);

//因为swap函数的形参是int类型的指针,所以传入的实参应该是int类型变量的地址
return 0;

}

第二个问题:
当实参是指针的时候,形参应该是什么?
其实很简单,你只要把
第一问列出来 ①实参:地址 ②形参 :指针
一一对应出来 ①实参:指针 ②形参:指针的指针
因为你要在局部函数中改变实参,就需要传递它的地址,指针也是如此,把它类比为int型变量就好了。
个人理解,希望能帮到你,如有不对,欢迎指正

回答2:

形参是指针,实参肯定要接收指针的,,你说是什么?
int a = 10;
int *p = &a;例如&a的形参,实参就是*p了。等等。。自己举一反三吧。