當前位置:首頁 » 編程語言 » c語言怎麼引用自己定義的頭文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼引用自己定義的頭文件

發布時間: 2022-09-14 19:53:20

『壹』 c語言定義一個頭文件的格式和引用它的方法

擴展名為.h的文件,在C語言中被稱為header file, 也就是頭文件。

頭文件的數據格式就是普通的文本文件,可以通過新建文本文件(txt),再把擴展名改為.h的方式創建,在此不贅述。


一、頭文件內容格式。

頭文件內容並沒有固定的格式要求,不過一般為防止嵌套引用給編譯器帶來死鎖或者沒必要的開銷,一般約定整個頭文件中所有內容在一個條件編譯下,即如下格式:

#ifndef 宏名

#define 宏名

//頭文件主體

#endif

這樣可以保證一個頭文件在一個源文件中最多隻被引用一次。為避免宏名重復,宏名一般由頭文件名轉換而來,如果頭文件名是xxx.h,那麼宏名一般定義為:

_XXX_H_

即前後各加一個下劃線,同時文件名中除數字、字母、下劃線以外的字元均轉換為下劃線(_)。


頭文件主體中內容同樣沒有做強制約定,可以出現在源文件(.c)中的任何代碼均可以放在頭文件中。不過一般情況下可以包括以下幾種內容:

1 引用其它頭文件,格式為

#include <xxx.h>

#include "xxx.h"

二者區別在介紹頭文件引用時再詳細介紹。

2 定義私有類型。比如

typedef unsigned long U32; //為了簡寫而給無符號32位整型定義一個新的名字

struct xxx {};

也可以是enum, union等復雜類型。

3 宏定義。比如

#define MAX(a,b) (a>b?a:b)

4 函數聲明。比如

void test_function(void);

5 全局變數聲明。比如

extern int global_var;

6 如果有一個靜態全局變數需要在不同源文件中使用,但各文件之間互不相關。那麼可以放在頭文件中。如:

static int gs_var = 3;


7 對於支持C99規范的C編譯器,還可以把內聯函數定義在頭文件中。比如

staticinlineintget_min(inta,intb)
{
if(a>b)returnb;
returna;
}

以上是常見的頭文件中的元素。但實際上頭文件中也可以放全局變數的定義,全局函數的實現等。但是頭文件中一旦定義了這樣的元素,這個頭文件在一個工程中只能被一個文件引用,否則編譯器會報重復定義的錯誤。

比如如果有一個規模很大的常量數組,比如一副圖片的二進制值,如果把它定義在源文件中,就會顯得很冗餘,因為並不會經常修改。 這時可以定義在頭文件中,只在一個源文件中引用,當有多幅圖片需要隨時更換時,也可以通過簡單的在源文件中修改引用的頭文件名達到修改的目的。


二、頭文件的引用。

頭文件引用的方法其實之前已經大致說過了,在源文件中引用頭文件和在頭文件中引用的格式是一樣的:

#include<xxx.h>或者

#include "xxx.h"

xxx為頭文件名。

用<>和""是有一定的區別的。在編譯器查找頭文件的時候,會在兩個區域分別查找。

一個是系統頭文件區域,即類似於stdio.h一類的C庫函數頭文件區。

另一個是自定義頭文件區,比如當前目錄,以及其它自定義的目錄。

用<>時,編譯器會先在系統區域查找,然後再查找自定義區域。而用""時則相反。

由於一般並不推薦自定義頭文件名與系統頭文件名相同(容易引起歧義並難以維護),所以先後順序並不是太重要,尤其在硬體速度越來越快的今天,使用哪種符號引用頭文件已經差別很小了。

『貳』 c語言怎麼調用自定義頭文件

#include」tou.h「 這個文件要和源文件放在一起

『叄』 C語言自定頭文件引用問題。

頭文件不能使用中文,這是第一點;
自定義的頭文件要使用"",而不是«»;
因為""引的話,是先在當前工程路徑下查找,找不到才去庫文件中查找;而«»是直接去庫文件中查找

『肆』 C語言自定義頭文件如何調用

假設該頭文件名為yourheader.h
#include "yourheader.h"
如果包含失敗了,假設該頭文件完整路徑為path,則#include "path"

『伍』 c語言怎麼包含自己寫的頭文件

C語言中的頭文件可以自己寫的。
頭文件幾個好處:
1,頭文件可以定義所用的函數列表,方便查閱你可以調用的函數;
2,頭文件可以定義很多宏定義,就是一些全局靜態變數的定義,在這樣的情況下,只要修改頭文件的內容,程序就可以做相應的修改,不用親自跑到繁瑣的代碼內去搜索。
3,頭文件只是聲明,不佔內存空間,要知道其執行過程,要看你頭文件所申明的函數是在哪個.c文件里定義的,才知道。
4,他並不是C自帶的,可以不用。
5,調用了頭文件,就等於賦予了調用某些函數的許可權,如果你要算一個數的N次方,就要調用Pow()函數,而這個函數是定義在math.c裡面的,要用這個函數,就必需調用math.h這個頭文件。
頭文件寫法:
#include
...
//-------------------------------
#ifndef MY_POINT
#define MY_POINT
class Class1
{

}

class Class2
{
}
...
#endif
在要使用類定義的文件中加入
#include "頭文件名.h "
一般來說,頭文件里多數是放的函數定義或函數體。
此外,還有:
#ifndef ****
#define ****
……
#endif

之類的語句,用於控制#define 與 #endif之間的內容不被重復定義或插入。
#include 語句起的只是一個插入作用。
也就是說,#include 的文件里的內容可以隨便寫。
編譯器使用#include 的文件里的內容來插入到#include 所在位置。
所以,你說的「頭文件」沒有固定格式。

『陸』 c語言中如何定義,添加頭文件

C語言頭文件常用格式如下:

#ifndefLABEL
#defineLABEL
//代碼部分
#endif

其中,LABEL 為一個唯一的標號,命名規則跟變數的命名規則一樣。常根據它所在的頭文件名來命名。


舉例如下:

//頭文件hardware.h
#ifndef__HARDWARE_H__
#define__HARDWARE_H__
#include<stdio.h>
intadd2(inta,intb)//計算兩個變數的和
{
returna+b;
}
#endif

//test.c文件
#include"hardware.h"//將自定義的頭文件包含進源文件中
voidmain()
{
printf("%d",add2(4,6));//調用頭文件中定義的函數
}

『柒』 自己編寫的頭文件的調用

如果是自己定義的頭文件,在同一個目錄下的可以直接引用,用"x.h";
如果,#......<X.h> 是標准庫中include中的頭文件, 已經定義好了,用戶可以直接使用;
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件(header files)和定義文件(definition files)組成。
頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明(declaration),而定義文件用於保存程序的實現 (implementation)。 .c就是你寫的程序文件。

『捌』 c語言怎麼包含自己寫的頭文件

在項目中,添加新建項,選擇「.h」項比如創建一個"my.h"然後在你需要引用的C文件#include
"my.h"就可以了

『玖』 C語言怎麼才可以調用自己編寫的頭文件拜託各位了 3Q

首先自己編寫一個頭文件,頭文件的定義跟C語言的要求差不多,也是包含某個子程序(該子程序實現某種功能),接著再保存為"***.H"的文件,接著在編寫的主函數中用#include "***.h"就可以了

『拾』 C語言怎麼應用頭文件啊有幫助必採納!

要保證你的fun.h文件存放在程序源文件所在目錄中(或系統默認目錄中)。
1.雙引號:引用非標准庫的頭文件,編譯器首先在程序源文件所在目錄查找,如果未找到,則去系統默認目錄查找,通常用於引用用戶自定義的頭文件。
2.尖擴號:只在系統默認目錄(在Linux系統中通常為/usr/include目錄)或者尖括弧內的路徑查找,通常用於引用標准庫中自帶的頭文件。