这篇文章主要介绍了c语言函数调用的方法有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
10年积累的成都网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有开化免费网站建设让你可以放心的选择与我们合作。
1、传值调用
传值调用,就是把一个变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,形参运算后在把值返回。
函数中改变的值是不能影响到外界的,因而在函数里对形参的改变不会影响到函数外的变量的值。
下面通过代码示例来理解一下:
#includevoid myswap(int x, int y) { int t; t=x; x=y; y=t; } int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //作为对比,直接交换两个整数,显然不行 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行:
解析:
没有交互成功原因是:使用传值调用,只在形参上改变了数值,没有在实参上改变数值。
2、传地址调用
传地址调用,就是将变量的地址直接传入函数,它把一个变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,也就是能改变函数外的变量的值。
下面通过代码示例来理解一下:
#includevoid myswap(int *p1, int *p2) { int t; t=*p1; *p1=*p2; *p2=t; } int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(&a,&b); //交换两个整数的地址 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行:
解析:
交互成功的原因是:使用传地址调用,利用指针改变了原来的地址,所以实参就交换了。
3、引用调用
引用调用实际是通过指针来实现的,把变量的引用传入函数;能达到使用地址调用的效果,可是使用方式如传值调用,函数可以对其值进行修改。
下面通过代码示例来理解一下:
#includevoid myswap(int &x, int &y) { int t; t=x; x=y; y=t; } int main() { int a, b; printf("请输入待交换的两个整数:"); scanf("%d %d", &a, &b); myswap(a,b); //注意:这里调用方式与传值调用一样,直接以变量a和b作为实参交换 printf("调用交换函数后的结果是:%d 和 %d\n", a, b); return 0; }
运行:
解析:
交互成功的原因是:使用引用调用,引用是直接改变两个实参变量a,b的值,所以就交换了。
感谢你能够认真阅读完这篇文章,希望小编分享c语言函数调用的方法有哪些内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!
本文名称:c语言函数调用的方法有哪些
浏览地址:http://scgulin.cn/article/gdjcsc.html