首页 > 编程笔记 > C语言笔记 阅读:20

C语言函数的定义(非常详细)

简单来说,C语言中的函数是一段具有特定功能的代码块,可以被程序多次调用。

函数通常接收输入(称为参数),执行某些操作,然后返回一个结果(返回值)。比如,C语言标准库中的 printf() 就是一个函数,它接收我们要输出的内容作为参数,并在屏幕上显示出来。

C语言标准库提供了很多功能实用的函数,此外 C 语言还允许程序员自己设计函数的功能,这个过程称为函数的定义。

在 C语言中,函数的定义包含几个关键部分:返回类型、函数名、参数列表以及函数体。

函数的定义

在 C 语言程序中,定义函数的语法格式如下:
返回类型 函数名(参数列表) {
    函数体;
    return 返回值;  // 如果返回类型不是 void,则需要返回值
}

逐一分析每个组成部分的含义:


让我们从一个简单的函数开始,计算两个整数的和:

int add(int a, int b) {
    int sum = a + b;
    return sum;
}

在这个例子中:


如何调用这个函数呢?以下是一个完整的程序示例:

#include <stdio.h>

int add(int a, int b) {
    int sum = a + b;
    return sum;
}

int main() {
    int result = add(3, 5);
    printf("3 + 5 = %d\n", result);
    return 0;
}

输出结果:

3 + 5 = 8

在 main() 函数中,我们调用了 add(3, 5),将返回值赋给变量 result,然后通过 printf() 输出结果。

函数定义的多种形式

函数的定义可以根据需求灵活变化。以下是一些常见的形式:

1) 无参数有返回值

如果函数不需要接收参数,直接省略参数列表即可。例如
int getNumber() {
    return 42;
}

2) 有参数无返回值

如果函数只是执行某些操作而不返回任何值,可以将返回类型设为 void

例如,一个简单的打印问候语的函数:

void sayHello() {
    printf("Hello, world!\n");
} 

这里没有 return 语句,因为返回类型是 void。

调用时只需写:

sayHello();

运行程序,输出结果为:

Hello, world!

3) 多个返回值(间接实现)

C语言函数本身只能返回一个值,但可以通过指针间接返回多个值。例如:

#include <stdio.h>

void getMinMax(int a, int b, int *min, int *max) {
    *min = (a < b) ? a : b;
    *max = (a > b) ? a : b;
}

int main() {
    int min, max;
    getMinMax(3, 7, &min, &max);
    printf("Min = %d, Max = %d\n", min, max);
    return 0;
}

输出结果为:

Min = 3, Max = 7

相关文章