Skip to content
鼓励作者:欢迎打赏犒劳

C语言函数

普通函数

text
#include <stdio.h>

// 函数定义
int my_max(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

int main() {
    // 函数调用
    int res = my_max(100, 200);
    printf("res = %d\n", res);

    return 0;
}

多文件编译

其实就是文件的引用,比如将函数写在另外的文件,然后main函数引用。不过我感觉c的比较麻烦。

  1. 需要给函数先建立一个 xx.h 的文件,里面只声明函数。
  2. 再建立一个同名字的 xx.c 的文件,实现具体逻辑
  3. 再在主函数文件引入 xx.h 文件

具体看示例!

main.c 主程序文件入口

text
#include <stdio.h>
#include "xx.h"



int main() {
    // 函数调用
    int res = min(1,2);
    printf("res = %d\n", res);

    return 0;
}

xx.h

text
#pragma once

// 声明语句
int min(int a,int b);

xx.c

text
int min(int a,int b){
    return a < b ? a : b;
}

配置vscode执行多文件

方法1 - 命令行形式

text
gcc -g main.c xx.c -o main.exe
  • main.c: 主文件。
  • xx.c: 包含具体实现的源文件(必须显式列出,不支持通配符)。
  • -o myprogram: 指定生成的可执行文件名为 myprogram (Windows 下会自动变成 myprogram.exe)。

注意:不要写 xx.h,编译器会自动处理头文件。

方法2 - 配置 tasks.json 实现一键编译(适合长期开发)

如果你不想每次都手打命令,可以配置一个任务来自动编译所有 .c 文件。

  1. 按 Ctrl+Shift+P,输入 Tasks: Configure Task,选择 Create tasks.json file from template
  2. 将生成的 .vscode/tasks.json 内容修改为如下(以 GCC 为例):
text
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build Multi-file C Project",
      "type": "shell",
      "command": "gcc",
      "args": [
        "-g",
        "${fileDirname}/*.c", // 关键点:编译当前目录下所有的 .c 文件
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}.exe" // 输出文件名
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "problemMatcher": ["$gcc"]
    }
  ]
}

然后就可以 终端 > 运行任务 > 弹出任务列表供你选择。会生成一个编译好的exe文件。然后可以在终端运行.

方法2 是可以 Ctrl+Shift+P > 任务: 运行任务 也是同样的效果。

方法3 是可以直接运行 Ctrl+F9 , 这个会执行运行json文件的 构建任务 , 这个更方便一些

如有转载或 CV 的请标注本站原文地址