精华内容
下载资源
问答
  • C语言引用头文件

    千次阅读 2019-09-12 14:59:08
    今天写一个解决的关于C语言extern的相关的问题 怎么使用C语言的extern ? 为什么我的VC++6.0报错,“找不到我建的头文件”? 1、自己建的头文件用英文的 “”。 2、检查你使用的编译器,他会自己处理头文件的的...

    今天写一个解决的关于C语言extern的相关的问题

    怎么使用C语言的extern ?
    为什么我的VC++6.0报错,“找不到我建的头文件”?

    1、自己建的头文件用英文的 “”。
    2、检查你使用的编译器,他会自己处理头文件的的路径么?
    比如下面我的不会处理。我都是自己处理。自己建文件夹,自己在include的时候写正确的相对路径。(也可以是绝对路径)。
    3、文件名要一致。

    1、C语言的extern的用法(简单介绍几点)。

    1、extern关键字表示这个标识符具有External Linkage。
    2、变量extern不可以缺省。
    3、函数extern可以缺省。
    4、凡是被多次声明的变量或函数,必须有且只有一个声明是定义,如果有多个定义,或者一个定义都没有,链接器就无法完成链接。
    

    我的环境是Mac,使用的是VSCode。
    问我问题的同学的环境是win,VC++6.0。

    VSCode不会处理头文件路径问题。我都是自己处理。自己建文件夹,自己在include的时候写正确的相对路径。(也可以是绝对路径)。
    VC++6.0 是建一个项目,其中有头文件和源文件这两个文件夹。所以你在源文件(.c)中写头文件 (.h)文件的文件名就可以了

    这是我的
    在这里插入图片描述
    test1.h

    #ifndef TEST1_H
    #define TEST1_H
    
    int a = 1, b = 2, c = 3;
    
    #endif
    

    test1.c

    #include <stdio.h>
    #include "../head/test1.h"//我现在是在test1.c里面,test1.h文件在我的上层目录head文件夹中。
    
    extern int a, b, c;
    int main(int argc, char *argv[]) {
        printf("a + b = %d\n", (a+b));
        return 0;
    }
    
    展开全文
  • C语言自定义头文件

    2021-05-31 17:30:19
    一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的。只知道调用系统库函数时,要使用#include语句将某些头文件包含进去。其实,头文件跟.C文件一样,是可以自己写的。头文件是一种文本文件,使用文本...

    头文件其实就是类似<stdio.h>这样的.h文件,和c一样,但需要放在规定目录当中,文件中放置了一些函数声明,变量声明,常数定义,宏的定义等等。当使用#include语句将头文件引用时,就等价于将头文件中所有内容,复制到#include处。头文件的格式通常为:

    #ifndef DELAY_H

    #define DELAY_H

       //代码部分
    

    #endif

    的格式。

    其中,DELAY为一个唯一的标号,命名规则跟变量的命名规则一样。常根据它所在的头文件名来命名,例如,如果头文件的文件名叫做stc15w.h,那么可以这样使用:

    #ifndef 1

    #define 1

       //代码部分
    

    #endif

    这样写的意思就是,如果没有定义1,1,并编译下面的代码部分,直到遇到#endif。这样,当重复引用时,由于1已经被定义,则下面的代码部分就不会被编译了,这样就避免了重复定义。另外,使用#include时,使用引号“”与尖括号<>的意思是不一样的。使用引号“”时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录;而使用尖括号< >时,刚好是相反的搜索顺序。

    假设我们有两个文件名一样的头文件1.h,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I;另一个则保存在当前工程的目录下,我们把它叫做文件II。如果我们使用的是#include <>,则我们引用到的是文件I。如果我们使用的是#include “1.h”,则我们引用的将是文件II。

    /*--------------------------------------------------------------------------
    INTRINS.H
    
    Intrinsic functions for C51.
    Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH
    All rights reserved.
    --------------------------------------------------------------------------*/
    
    #ifndef __INTRINS_H__
    #define __INTRINS_H__
    
    #pragma SAVE
    
    #if defined (__CX2__)
    #pragma FUNCTIONS(STATIC)
    /* intrinsic functions are reentrant, but need static attribute */
    #endif
    
    extern void          _nop_     (void);
    extern bit           _testbit_ (bit);
    extern unsigned char _cror_    (unsigned char, unsigned char);
    extern unsigned int  _iror_    (unsigned int,  unsigned char);
    extern unsigned long _lror_    (unsigned long, unsigned char);
    extern unsigned char _crol_    (unsigned char, unsigned char);
    extern unsigned int  _irol_    (unsigned int,  unsigned char);
    extern unsigned long _lrol_    (unsigned long, unsigned char);
    extern unsigned char _chkfloat_(float);
    #if defined (__CX2__)
    extern int           abs       (int);
    extern void          _illop_   (void);
    #endif
    #if !defined (__CX2__)
    extern void          _push_    (unsigned char _sfr);
    extern void          _pop_     (unsigned char _sfr);
    #endif
    
    #pragma RESTORE
    
    #endif
    
    
    

    pragma用于指定一些编译信息:
    (1) #pragma message 用于自定义编译信息

    (2)#pragma once 用于保证头文件只被编译一次

    (3)#pragama pack用于指定内存对齐(一般用在结构体)

    展开全文
  • c语言引用头文件 “” 和&lt;&gt;的区别 头文件#include &lt;&gt; :表示引用标准库头文件,编译器会从系统配置的库环境中去寻找 头文件#include “”:一般表示用户自己定义使用的头文件,编译器...

    c语言中引用头文件 “” 和<>的区别

    头文件#include <> :表示引用标准库头文件,编译器会从系统配置的库环境中去寻找

    头文件#include “”:一般表示用户自己定义使用的头文件,编译器默认会从当前文件夹中寻找,如果找不到,则到系统默认库环境中去寻找。

    不过保险的话,用”“肯定可以找到所有头文件,包括系统库函数头文件和自己定义的头文件。

    展开全文
  • C语言头文件详解

    千次阅读 2020-06-26 21:43:06
    C语言头文件详解 引言 在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要...

    C语言的头文件详解

    在这里插入图片描述

    引言

    在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .c就是你写的程序文件

    头文件的作用

    一般在一个应用开发体系中,功能的真正逻辑实现是以硬件层为基础,在驱动程序、功能层程序以及用户的应用程序中完成的。头文件的主要作用在于多个代码文件全局变量(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码。头文件是用户应用程序和函数库之间的桥梁和纽带。在整个软件中,头文件不是最重要的部分,但它是C语言家族中不可缺少的组成部分。编译时,编译器通过头文件找到对应的函数库,进而把已引用函数的实际内容导出来代替原有函数。进而在硬件层面实现功能。

    什么样的内容适合放在头文件里?对于具有外部存储类型的标识符,可以在其他任何一个源程序文件中经声明后引用,因此用户完全可以将一些具有外部存储类型的标识符的声明放在一个头文件中。具体地说,头文件中可以包括:用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等具有一定通用性或常用的量。而一般性的变量和函数定义不宜放在头文件中。例如:#include<stdio.h>中的头文件stdio.h作用是让链接器通过头文件里的函数声明找到函数实际代码所在的位置即所在的库文件,这样才能使用该函数的实际代码,函数的实际代码的实现过程是先让链接器通过头文件里函数的申明找到函数实际代码所在的位置即所在的库文件,再通过#include语句把链接器所找到的函数实际代码用链接器把函数的实际代码链接到当前文件即所要执行的程序中。当然有些函数的使用不需要提供头文件,但是在ISO/ANSI C已经对有些函数的使用必须提供哪些头文件制定了标准。

    头文件的用法总结

    头文件最常用的形式如下:

    • 明示常量——例如,stdio.h中定义的EOF、NULL和BUFSIZE(标准I/O缓冲区大小)。
    • 宏函数——例如,getc(stdio.h)通常用getchar()定义,而getc()经常用于定义较复杂的宏,头文件ctype.h通常包含ctype系列函数的定义。
    • 函数声明——例如,string.h头文件(一些旧的系统是srings.h)包含字符串函数系列的函数声明。在ANSI C和后面的标准中,函数声明都是函数原型形式。
    • 结构模板定义——标准I/O函数使用FILE结构,该结构中包含了文件和缓冲区相关信息。FILE结构在头文件stdio.h中。
    • 类型定义——标准I/O函数使用指向FILE的指针为参数。通产stdio.h用#define或typedef把FILE定义为指向结构的指针。类似的,size_t和time_t类型也定义在头文件中。

    其他用法

    许多程序员在程序中使用自己开发的标准头文件。如果开发一些列相关的函数或结构,那么这种方法特别有价值。

    另外,还可以使用头文件声明外部变量供其他文件共享。例如,如果已经开发了共享某个变量的一系列函数,该变量报告某种情况(如错误情况),这种方法就很有效。这种情况下,可以在包含这些函数声明的源代码文件定义一个文件作用域的外部链接变量:

    int status = 0; //该变量具有文件作用域,在源代码文件
    

    然后,可以在与源代码文件相关联的头文件中进行引用式声明:

    extern int status; //在头文件中
    

    这行代码出现在包含了该头文件的文件中,这样使用该系列函数的文件都能使用这个变量。虽然源代码文件中包含该头文件后也包含了该声明,但是只要声明的类型一致,在一个文件中同时使用定义式声明和引用式声明没问题。

    需要包含头文件的另外一种情况是,使用具有文件作用域、内部链接和const限定符的变量或数组。const防止值被意外修改,static意味着每个包含该头文件的文件都获得一份副本。因此,不需要在一个文件中进行定义式声明,在其他文件中进行引用式证明。


    [1] 百度百科-头文件
    [2] 史蒂芬・普拉达. C Primer Plus (第6版) 中文版[M]. 人民邮电出版社, 2016.

    展开全文
  • C语言头文件和源文件的关系

    千次阅读 2019-06-27 10:34:51
    答案 #include预处理实际上就是完成了一个“复制代码并插入”的工作!...编译器以C文件作为一个单元,开始读C文件,读到包含头文件的语句时,从所有搜索路径寻找头文件。 找到后,处理宏,变量,函数声明,检测...
  • C语言编写头文件

    千次阅读 多人点赞 2019-05-10 23:20:57
    通常我们写C程序时,都会直接使用这样的语句“#include <...2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序 就可以做相应的修改,不用亲自...
  • 先去系统目录中找头文件,如果没有再到当前目录下找。所以像标准的头文件 stdio.h和 stdlib.h等用这个方法。 2、""首先在当前目录下寻找,如果找不到,再到系统目录中寻找。 这个用于include自定义的头文件,让系统...
  • C语言基础:C语言头文件

    千次阅读 2020-06-22 19:20:29
    文章目录1 头文件的作用2 C文件中引用头文件3 头文件的内容 1 头文件的作用 博主理解,头文件的作用可以归纳为一句话,那就是把各个C文件联系起来。 至于是怎么联系起来的,后文在分析Simulink生成的代码中会一点点...
  • C语言所有头文件整理

    千次阅读 多人点赞 2019-04-30 21:48:14
    C语言头文件 <ctype.h> 字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的 大小写转换 ---------------------------------------- 字符测试是否字母和数字 isalnum 是否字母 ...
  • 对应配套的一对.c文件和.h文件,若在.c文件中定义变量,那么在.h文件中无法使用;反过来,在.h文件中定义变量,那么在.c文件中是可以使用的
  • C语言中两种引用头文件方式的区别

    千次阅读 2020-01-16 22:32:05
    两种引用方式#include<>和#include"" 好久没写过c的程序了,最近要做毕设,写单片机的程序,重新捡起来c。 刚开始写就遇到了麻烦,我自己写了一个.c文件,在另一个文件中要用到这个文件的代码,如果直接复制...
  • vscode中C语言添加头文件目录

    千次阅读 2020-06-06 22:25:56
  • C语言 防止头文件被多次引用

    千次阅读 2018-05-01 21:42:20
    comm.h和comm.c是公共模块。 test1.h和test1.c使用了公共模块。 test2.h和test2.c使用了了公共模块。 test.h和test.c使⽤用了了test1模块和test2模块。 这样最终程序中就会出现两份comm.h的内容...将头文件放在...
  • C语言头文件和宏定义详解

    万次阅读 多人点赞 2018-01-24 21:00:44
    之前对C语言头文件和宏定义抱着一知半解的态度,现理清思路并以文字的形式整理出来,以供不时之需 头文件 头文件,顾名思义就是定义在C语言文件头部的那一坨东西 #include 这就是一个标准输入输出的...
  • C语言引用头文件#include 和#include“stdio.h”的区别

    千次阅读 多人点赞 2020-10-19 17:25:50
    总的来说,一般是用双引号来引用自己编写的文件,而用尖括号引用系统标准的文件。 <>搜索顺序为:系统目录–>环境变量目录–>用户自定义目录。 ""则是用户自定义目录–>系统目录–>环境变量目录. ...
  • C语言头文件和源文件的注意事项

    千次阅读 2019-08-03 15:34:13
    C语言头文件和源文件的注意事项 文章目录C语言头文件和源文件的注意事项0.前言1.实现步骤1.1 拆分前1.2 拆分后2.总结2.1头文件内容2.2 源文件(.c)内容2.3 函数声明和定义 0.前言 因为C语言编程或者C++语言编程...
  • c语言 编写头文件

    2019-10-08 16:19:27
    这便是我们通常说的头文件头文件通常用作函数声明,变量声明,常数定义,宏的定义等等。 头文件几个好处: 1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数; 2,头文件可以定义很多宏定义,就是一些...
  • c语言中的头文件互相调用

    千次阅读 多人点赞 2017-12-07 19:30:23
    c语言中的头文件互相调用 今天在阅读...我理解的引用头文件的就是用头文件中的内容代替`#include<head.h>`,但是这样的话应该就会递归调用了啊,这也就是我自己实验时候出现的错误的原因。后来又仔细的看了别人的代码
  • C语言头文件详解

    万次阅读 多人点赞 2019-05-11 14:08:47
    简单一句话:在include的地方,把头文件里的内容原封不动的复制到引用头文件的地方。 头文件引用 头文件引用有两种形式:#include < stdio.h> 和 include "main.h “。 用< >引用的一般是编译器提供...
  • 手把手教你c语言如何引用自己的 .h 头文件

    万次阅读 多人点赞 2018-12-28 13:52:46
    自己写的头文件没有办法引用,原来是因为没有包括在一个项目里。 步骤如下:   首先新建一个文件夹 在DEV中新建一个项目,选择空项目,保存到上一步的文件夹中 在项目里新建自己的c文件 主函数 c...
  • C语言常用头文件及库函数

    千次阅读 2017-04-05 00:27:25
    6个常用头文件及库函数
  • C语言如何引用自己写的头文件

    千次阅读 2021-03-14 16:57:12
    一个例子 首先创建一个工作文件夹,在其中创建头文件funtions.h,并写入一下代码: #include<stdio.h> void printstr(char *s);...//以"filename.h" 格式引用头文件,则编译器从当前用户的工作目录开始搜索 i.
  • C语言头文件不可以互相嵌套 解释如下: 假设情况1: 如果使用了预编译命令 #ifndef #define #endif 在头文件a.h中 #ifndef __A_H__ #define __A_H__ #include "b.h" int c; #endif 头文件 b.h中 #ifndef __B_H_...
  • C语言 头文件源文件及include包含指令 1- 头文件:(head),所以文件后缀是.h,head的简称。 头文件是源文件的辅助文件,一般把一些变量,函数定义到头文件,而函数的实现放在源文件。头文件主要解决可以拆分大的...
  • 一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的。只知道调用系统库函数时,要使用#i nclude语句将某些头文件包含进去。其实,头文件跟.C文件一样,是可以自己写的。头文件是一种文本文件,使用文本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,829
精华内容 21,931
关键字:

c语言引用头文件

c语言 订阅