MST

星途 面试题库

面试题:C语言自定义头文件包含及函数调用

假设有一个自定义头文件 `myheader.h`,其中声明了一个函数 `int add(int a, int b);`,请在 `main.c` 文件中包含这个头文件,并实现 `add` 函数的定义,然后在 `main` 函数中调用 `add` 函数计算 `3` 和 `5` 的和并输出结果。请写出完整的代码,并解释 `#include` 包含自定义头文件时双引号和尖括号的区别。
19.4万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试

main.c 代码如下:

#include "myheader.h"
#include <stdio.h>

// add 函数的定义
int add(int a, int b) {
    return a + b;
}

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

#include 包含自定义头文件时双引号和尖括号的区别:

  • 双引号 (#include "myheader.h" ):编译器首先会在当前源文件所在的目录中查找头文件。如果在该目录中没有找到,编译器会按照系统默认的搜索路径继续查找。通常用于包含自定义的头文件,因为自定义头文件一般和源文件在同一项目目录下,使用双引号查找效率更高且符合项目结构。
  • 尖括号 (#include <stdio.h> ):编译器会直接在系统指定的标准库头文件目录中查找头文件。不会在当前源文件所在目录查找。一般用于包含标准库头文件,因为标准库头文件安装在系统指定位置,使用尖括号能准确快速定位到。