和#include ” ”有什么區" />
C語言頭文件
C語言中頭文件的擴展名為 .h的頭文件,頭文件中包含了函數的聲明和宏定義,頭文件可以被多個源文件引用。在C語言中有兩種類型的頭文件,一種是編譯器自帶的頭文件,另一種就是程序員自己編寫的頭文件。
在C程序中如果要使用頭文件,則必須使用頭文件包含命令 #include ,來引入對應的頭文件(.h文件)。#include 是C語言預處理指令的一種。
#include 的處理過程很簡單,就是將頭文件的內容插入到該命令所在的位置,從而把頭文件和當前源文件連接成一個源文件,這與復制粘貼的效果相同。
引用頭文件的語法
使用預處理指令 #include 可以引用用戶和系統頭文件。它的形式有以下兩種:
#include <file>
這種形式用于引用系統頭文件。它在系統目錄的標準列表中搜索名為 file 的文件。在編譯源代碼時,通過 -I 選項把目錄前置在該列表前。
#include "file"
這種形式用于引用用戶頭文件。它在包含當前文件的目錄中搜索名為 file 的文件。在編譯源代碼時,通過 -I 選項把目錄前置在該列表前。
使用尖括號< >和雙引號" "的區別在于頭文件的搜索路徑不同:
使用尖括號< >,編譯器會到系統路徑下查找頭文件;
而使用雙引號" ",編譯器首先在當前目錄下查找頭文件,如果沒有找到,再到系統路徑下查找。
也就是說,使用雙引號比使用尖括號多了一個查找路徑,它的功能更為強大。
在C語言編程中,我們習慣使用尖括號來引入標準頭文件,而使用雙引號來引入自定義頭文件(自己編寫的頭文件),這樣一眼就能看出頭文件的區別。
關于 #include 用法的注意事項:
一個 #include 命令只能包含一個頭文件,多個頭文件需要多個 #include 命令。
同一個頭文件可以被多次引入,多次引入的效果和一次引入的效果相同,因為頭文件在代碼層面有防止重復引入的機制。
#ifndef _HEAD_H
#define _HEAD_H
#endif
文件包含允許嵌套,也就是說在一個被包含的文件中又可以包含另一個文件。
#include 用法舉例
在add.c中定義了add()函數,在head.h中聲明了add()函數,main.c中,#include<stdio.h>引用標準輸入輸出頭文件,#include”head.h”引用我們自己寫的head.h頭文件,main()函數是程序的入口,printf()函數是標準輸出函數,它的作用是向終端輸出若干個任意類型的數據,add()函數在add.c中定義了,在main.c中的main()函數中進行了調用。