c语言中有引用传递吗,C语言到底支不支持引用传递做函数参数

1,C语言到底支不支持引用传递做函数参数“引用传递做函数参数”是C++的特性,C语言不支持 。// C语言要这样写:void Exchg3(Rect *x, Rect *y)// 然后传递指针:Exchg3(&a, &b);不保存.cpp 编译的时候就用c++ 编译器你用.c编译的时候用c编译器还有就是c 不支持引用int a()int value = http://www.lisdn.com/mnsj/hhwd/1;return value;}int b(int (*f)())return target;}void main()b(a); //将函数a传递到b中}
2,C语言中的值传参和引用传参分别是指什么在C语言中其实没有引用传参,都是值传参 。即传递的都是实参的副本 。如下示例,//交换两个参数的值,值传参void swap(int x, int y) int temp = x; x = y; y = temp;}int a = 2, b =1;swap(a,b); //a,b的值不会改变,因为改变的是实参a,b的副本 。另一个示例://所谓的“引用传参” , 交换两个数值void swap(int *x, int *y) int temp = *x; *x = *y; *y = tem;}int a =2, b = 1;swap(&a, &b);//a,b的值改变其实这里引用传参,传递的也是参数的副本,只是这个副本是变量a,b的地址,所以你在函数swap中你并不能通过参数改变变量a,b的地址 , 因为它只是一个副本,是值传递 。但你得到变量的地址 , 你就可以访问和改变变量的内容,所以在第二个swap函数中,你可以通过*x和*y来改变实参的值,从而可以达到交换变量a,b值的效果 。但这并不是引用传递 。只是有这样的说法 。推荐你去秒秒学上看看相关的内容,我也是从那上面学来的 。【c语言中有引用传递吗,C语言到底支不支持引用传递做函数参数】

    推荐阅读