在c语言开发中,fun通常是开发者自定义的通用函数名,没有内置的固定功能,我们可以根据实际需求定义它的作用,比如实现数值计算、数据处理、逻辑判断等功能。合理定义和使用fun函数可以让代码结构更清晰,减少重复代码的编写。

fun函数的基础定义语法
定义fun函数首先需要明确返回值类型、函数名和参数列表,基本语法格式如下:
// 返回值类型 函数名(参数类型 参数名1, 参数类型 参数名2, ...)
返回类型 fun(参数列表) {
// 函数体逻辑
return 返回值; // 如果返回类型不是void,需要返回对应类型的值
}
如果函数不需要返回结果,返回值类型可以设为void,此时函数体内可以不写return语句,或者写return;直接结束函数执行。
无参数无返回值的fun函数示例
这类函数通常用于执行固定的操作,不需要外部传入参数,也不返回结果,比如打印固定的提示信息:
#include <stdio.h>
// 定义无参数无返回值的fun函数,功能是打印欢迎信息
void fun() {
printf("这是自定义的fun函数执行的内容n");
}
int main() {
// 调用fun函数
fun();
return 0;
}
上述代码中,fun函数被定义为void类型,没有参数,调用后直接输出提示内容,不需要接收返回值。
带参数有返回值的fun函数示例
实际开发中更常用的是带参数和返回值的fun函数,比如实现两个整数的求和功能:
#include <stdio.h>
// 定义带两个int参数,返回int类型的fun函数,实现求和
int fun(int a, int b) {
int sum = a + b;
return sum; // 返回计算结果
}
int main() {
int num1 = 10;
int num2 = 20;
// 调用fun函数,传入两个参数,接收返回值
int result = fun(num1, num2);
printf("两个数字的和是:%dn", result);
return 0;
}
这里调用fun函数时传入了num1和num2两个实际参数,函数内部用形式参数a和b接收,计算后返回结果给result变量。
带指针参数的fun函数示例
如果需要在函数内部修改外部变量的值,可以使用指针作为参数,比如实现两个变量的值交换:
#include <stdio.h>
// 定义带两个int指针参数的fun函数,交换两个变量的值
void fun(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 5;
int b = 8;
printf("交换前:a=%d, b=%dn", a, b);
// 传入变量的地址作为实参
fun(&a, &b);
printf("交换后:a=%d, b=%dn", a, b);
return 0;
}
这里fun函数的参数是指针类型,调用时传入变量的地址,函数内部通过解引用指针修改了外部变量a和b的值,实现了交换效果。
fun函数的声明与定义分离
当函数定义在调用位置之后时,需要在调用前先声明函数,避免编译报错,示例如下:
#include <stdio.h>
// 先声明fun函数,告诉编译器函数的存在和格式
int fun(int a, int b);
int main() {
int res = fun(3, 4);
printf("结果:%dn", res);
return 0;
}
// 后定义fun函数的具体实现
int fun(int a, int b) {
return a * b;
}
函数声明只需要写函数头加分号,不需要函数体,通常放在文件开头或者头文件中,方便多个地方调用。
使用fun函数的注意事项
- 函数名
fun是自定义的,只要符合c语言标识符命名规则即可,不要和内置函数名冲突 - 调用函数时传入的实参类型和数量要和函数定义的形参匹配,否则会出现编译错误或者运行异常
- 如果函数返回值类型不是
void,调用后建议接收返回值,避免无意义的操作 - 函数内部不能定义其他函数,c语言不支持函数嵌套定义,所有函数都是平行的