c語(yǔ)言中include的用法
c語(yǔ)言中include的用法
C語(yǔ)言作為一門(mén)新型高級(jí)編程語(yǔ)言,在計(jì)算機(jī)軟件編程中具有較為廣泛的應(yīng)用和實(shí)現(xiàn)。下面小編就跟你們?cè)敿?xì)介紹下c語(yǔ)言中include的用法,希望對(duì)你們有用。
c語(yǔ)言中include的用法如下:
1 iostream與iostream.h的區(qū)別:
#include <iostream.h> // 這個(gè)就是1998年標(biāo)準(zhǔn)化以后的標(biāo)準(zhǔn)頭文件
#include <iostream> // 這個(gè)就是標(biāo)準(zhǔn)化以前的頭文件
更本質(zhì)上的區(qū)別就是iostream把標(biāo)準(zhǔn)C++庫(kù)的組件放在一個(gè)名位std的namespace里面。而相對(duì)的iostream.h則將這些標(biāo)準(zhǔn) 組件放在全局空間里,同時(shí)在標(biāo)準(zhǔn)化以后舊有的C標(biāo)準(zhǔn)庫(kù)也已經(jīng)經(jīng)過(guò)改造了。 使用前者,就需要在代碼中添加語(yǔ)句:using namespace std;
即:#include <iostream.h> ==#include <iostream>+ using namespace std;
2 #include、#include<xxx.h> 與#include “xxx.h”的區(qū)別:
1>,#include<xxx.h>:系統(tǒng)自帶的頭文件用尖括號(hào)括起來(lái),這樣編譯器會(huì)在系統(tǒng)文件目錄下查找。
2>,#include “xxx.h”:用戶(hù)自定義的文件用雙引號(hào)括起來(lái),編譯器首先會(huì)在用戶(hù)目錄下查找,然后在到C++安裝目錄(比如VC中可以指定和修改庫(kù)文件查找路徑,Unix和Linux中可以通過(guò)環(huán)境變量來(lái)設(shè)定)中查找,最后在系統(tǒng)文件中查找。
3 #ifndef /#define/ #endif避免頭文件的重定義
在一個(gè)大的軟件工程里面,可能會(huì)有多個(gè)文件同時(shí)包含一個(gè)頭文件,當(dāng)這些文件編譯鏈接成一個(gè)可執(zhí)行文件時(shí),就會(huì)出現(xiàn)大量“重定義”的錯(cuò)誤。在頭文件中實(shí)用#ifndef #define #endif能避免頭文件的重定義。
方法:例如要編寫(xiě)頭文件test.h
在頭文件開(kāi)頭寫(xiě)上兩行:
#ifndef _TEST_H
#define _TEST_H//一般是文件名的大寫(xiě)
頭文件結(jié)尾寫(xiě)上一行:
#endif
這樣一個(gè)工程文件里同時(shí)包含兩個(gè)test.h時(shí),就不會(huì)出現(xiàn)重定義的錯(cuò)誤了。
分析:當(dāng)?shù)谝淮伟瑃est.h時(shí),由于沒(méi)有定義_TEST_H,條件為真,這樣就會(huì)包含(執(zhí)行)#ifndef _TEST_H和#endif之間的代碼,當(dāng)?shù)诙伟瑃est.h時(shí)前面一次已經(jīng)定義了_TEST_H,條件為假,#ifndef _TEST_H和#endif之間的代碼也就不會(huì)再次被包含,這樣就避免了重定義了。