小编Ist*_*tel的帖子

C语言中"extern"的确切含义和头文件名与代码文件名等效

我用Google搜索并阅读,但没有找到这三个简单问题的答案......

  1. 头文件名是否应该等于代码文件名?例如,我在foo.h中声明了函数void foo().它在main.c中使用,包括foo.h必须在foo.c中实现foo()吗?如果它将在foox.c中实现怎么办?因为我的源代码有decoder.h头但是decode.c代码文件,一切似乎都有效.项目中没有decoder.c或decode.h文件.

  2. 当用"extern"声明函数时,什么是"extern".在上述项目中,decoder.h声明了extern函数,而decode.c实现了它们.extern如何在这里工作以及它实际上应该如何工作?我一直认为extern用于让编译器知道它会在其他地方找到它(就像我在main.c中声明一个变量,包括foo.h,在foo.c中实现foo.h中的函数我想改变它变量的值,所以我将其声明为extern).

  3. 另外,关于C语法的小问题,我有一个代码,其函数实现看起来像这样

    int function(param1,param2,param3)
    int param1,*param2;
    char param3;
    {
        function body
    }
    
    Run Code Online (Sandbox Code Playgroud)

    我的Qt Creator抱怨这个代码和代码导航不起作用,但代码编译和执行良好.这是什么语法?我以前从未见过......

c

2
推荐指数
1
解决办法
2921
查看次数

标签 统计

c ×1