zssdhr
zssdhr
采纳率0%
2017-05-27 13:41 阅读 5.1k

c语言工程,在.h文件中声明的函数是不是在同名.c文件中定义?

比如在main.c中已经include"output.h",main函数中要用到output.h声明的PrintMessage函数,
那么PrintMessage函数是不是在output.c中定义?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • fight_in_dl 战在春秋 2017-05-28 07:40

    共3个文件:

    一 main.c 代码如下:

    #include "stdio.h"
    #include "output.h"
    
    int main()
    {
        PrintMessage();
        printf("Successed!");
        return 0;
    }
    

    二 output.h 代码如下:

     void PrintMessage(void);
    

    三 ouput.c 代码如下:

    #include "stdio.h"
    
    void PrintMessage(void)
    {
        printf("Test!\n");
    }
    

    输出结果如下图:
    图片说明

    因为没有看到你的代码,不好说问题出在哪。
    你可以对照检查下。

    output.h文件是 函数声明 文件,output.c文件是 函数定义 文件
    需要使用该函数,包含头文件即可。

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢。

    点赞 6 评论 复制链接分享
  • liao20081228 蓝月心语 2017-05-27 18:52

    头文件的作用仅仅是提供函数接口而已,理论上说既可以在头文件中定义,也可以只声明,实现可以在任何文件包括main.c文件。只要你编译的时候加上这个文件就可以了。
    ps:需要了解编译的预编译,预编译时,编译器会把include所包含的头文件,拷贝到你的正式代码之前,这时候,就和我们使用函数在函数定义之前必须先做声明一个道理。

    点赞 2 评论 复制链接分享
  • lingfl_unique lingfl→unique 2017-05-27 13:53

    在output.c中定义Print Message函数
    在output.h中声明一下这个函数,就可以了

    点赞 1 评论 复制链接分享

相关推荐