C 函数的定义和调用

在C 中,函数是执行特定任务的代码块,通过定义和调用实现代码复用和模块化设计。以下是详细说明:


一、函数定义

函数定义包含以下要素:

  1. 返回类型:函数返回值的数据类型(如void表示无返回值)
  2. 函数名:遵循标识符命名规则
  3. 参数列表:接收外部数据的变量声明(可为空)
  4. 函数体:包含执行逻辑的代码块

语法格式

返回类型 函数名(参数类型 参数1, 参数类型 参数2, ...) {
    // 执行语句
    return 返回值; // void类型可省略return
}

示例

// 定义加法函数
int add(int a, int b) {
    int sum = a   b;
    return sum;
}

// 定义无返回值函数
void printMessage() {
    std::cout << 已调用!\n
---

#### 二、函数调用
通过函数名和实际参数触发函数执行:
1. **基本调用**:`函数名(参数1, 参数2, ...)`
2. **返回值处理**:可赋值给变量或直接使用
3. **无参调用**:保留空括号`()`

**调用示例**:
```cpp
int main() {
    // 调用加法函数
    int result = add(3, 5);  // 返回8
    std::cout <<  << result;

    // 直接使用返回值
    std::cout <<  20=< add(10, 20);

    // 调用无参函数
    printMessage();  // 输出调用!\n    
    return 0;
}

三、关键特性
  1. 参数传递

    • 值传递:创建参数副本(默认方式)
    void modify(int x) { x = 100; } // 不影响原始变量
    
    • 引用传递:直接操作原始变量
    void swap(int &a, int &b) {
        int temp = a;
        a = b;
        b = temp;
    }
    
  2. 函数原型声明

    • 在调用前声明函数签名(通常放在头文件)
    int add(int a, int b); // 声明
    
  3. 作用域规则

    • 函数内定义的变量为局部变量
    • 生命周期仅限于函数执行期间

四、完整示例
#include <iostream>

// 函数声明
int multiply(int x, int y);

int main() {
    int a = 5, b = 6;
    
    // 函数调用
    int product = multiply(a, b);
    std::cout << a << \ <<  << product;
    
    return 0;
}

// 函数定义
int multiply(int x, int y) {
    return x * y;  // 返回乘积
}

输出5×6=30

掌握函数定义与调用是构建复杂程序的基础,建议通过实际编码练习加深理解。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐