C语言中调用函数的两种基础方式(详解) 您所在的位置:网站首页 调用方式是引用调用 C语言中调用函数的两种基础方式(详解)

C语言中调用函数的两种基础方式(详解)

2024-07-05 15:27| 来源: 网络整理| 查看: 265

一、前言

函数是构成c语言的基本单位,如何很好的定义并且引用c语言对于写好一个程序而言至关重要,作为新手刚入门的我们,最主要的就是掌握好两种c语言函数调用方式即可,分别是传值调用和引用调用。下面以具体的程序实例来解释两种调用方式的特点和不同。

二、传值调用

传值调用的特点就是他直接将实参(简单说就是我具体要操作的数值)的数据传递给形参(作为一个形式符号,在子函数中说明他将会进行什么操作)。传值调用的特殊性在于他的操作并不会对变量的值发生改变,也就是说操作完成后a还是a,b还是b。以交换两个数的程序为例。

void swap(int x, int y); #include int main() { /* 局部变量定义 */ int a = 100; int b = 200; printf("交换前,a 的值: %d\n", a); printf("交换前,b 的值: %d\n", b); /* 调用函数来交换值 */ swap(a, b); printf("交换后,a 的值: %d\n", x); printf("交换后,b 的值: %d\n", y); return 0; } void swap(int x, int y) { int temp; temp = x; /* 保存 x 的值 */ x = y; /* 把 y 赋值给 x */ y = temp; /* 把 temp 赋值给 y */ return; }

在运行完这个程序过后我们会发现他的输出结果为:

从中我们可以发现传值调用并不会对变量本身产生改变,在这种情况下要想输出两个变量交换后的值,那么printf函数必须要放在子函数swap内,这样直接通过子函数输出,因为主函数中a,b未改变

 三、引用调用

引用调用,顾名思义就是直接引用变量进行操作,这一操作是通过函数的指针来实现的。通过指针传递变量的地址,可以直接对变量本身进行操作,这就是其和传值调用最大的不同。我们仍然是以交换两个数的程序为例

void swap(int *x, int *y) { int temp; temp = *x; /* 保存地址 x 的值 */ *x = *y; /* 把 y 赋值给 x */ *y = temp; /* 把 temp 赋值给 y */ return; } #include /* 函数声明 */ void swap(int *x, int *y); int main () { /* 局部变量定义 */ int a = 100; int b = 200; printf("交换前,a 的值: %d\n", a ); printf("交换前,b 的值: %d\n", b ); /* 调用函数来交换值 * &a 表示指向 a 的指针,即变量 a 的地址 * &b 表示指向 b 的指针,即变量 b 的地址 */ swap(&a, &b); printf("交换后,a 的值: %d\n", a ); printf("交换后,b 的值: %d\n", b ); return 0; }

此代码就是采用了引用调用的方法,他的运行结果如下:

 四、结语

以上就是两种函数调用的基本方法,他们各有特色,具体的需要在何处使用什么调用方式,仍然需要依据具体的情况来确定,希望大家多提宝贵意见,欢迎留言! 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有