1樓:
c語言的原始檔分為兩種:
1、.c檔案,以c為副檔名,一般儲存具體功能的實現;
2、.h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。
通常,標頭檔案被.c檔案包含,使用#include 語句。
但值得注意的是,這只是一種約定,而非強制。
事實上,將宣告寫在.c檔案,比如a.c,然後#include "a.c"
同樣是合法的。
而把.h檔案,內部寫入函式實現,再在.c檔案中引用,也是編譯器允許的。
所以,.c與.h的區分,本質上是一種約定。一名合格的軟體開發人員,也要遵循這個約定,增加**的可讀性和維護性。
2樓:蝌蚪聰明頂呱呱
.c是 c 語言程式檔案,是可以被編譯然後執行的檔案;
.h 字尾是 c 語言程式庫的檔案,是可以在 c 語言程式中被包含,但是不能編譯並執行的檔案。
c語言中 .c和.h有什麼區別
3樓:
c語言的原始檔分為兩種:
1、.c檔案,以c為副檔名,一般儲存具體功能的實現;
2、.h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。
通常,標頭檔案被.c檔案包含,使用#include 語句。
但值得注意的是,這只是一種約定,而非強制。
事實上,將宣告寫在.c檔案,比如a.c,然後#include "a.c"
同樣是合法的。
而把.h檔案,內部寫入函式實現,再在.c檔案中引用,也是編譯器允許的。
所以,.c與.h的區分,本質上是一種約定。一名合格的軟體開發人員,也要遵循這個約定,增加**的可讀性和維護性。
4樓:核桃愛花生
一個源程式檔案,一個是標頭檔案,標頭檔案一般是用來宣告同名程式中實現的函式,還有就是定義一些常量.
c語言中#include ***.c和***.h有什麼區別?
5樓:河北藍楓科技
區分在實際使用中並沒有什麼影響,但是 .h 主要放一些巨集定義,.c放程式**,這樣做對以後程式香梅的維護和移植就比較方便了,這樣做只是形成一個良好的**書寫規範。
6樓:易火純蓮
寫了三年**了,第一次遇到#include "***.c"忍不住回答一下這個問題。
首先 .h 標頭檔案,主要提供要對外匯出的符號。 .c 原始檔,主要提供實現以及實現內部的符號。兩者從功能上不一樣,但在特定的情況下互換也可以編譯通過。
例如,在test.c 中實現了一個test()函式。在source1.
c中#include "test.c",然後呼叫test()是沒有一點問題的。但是如果在source1.
c和source2.c中都#include "test.c",則大多數編譯器下會無法通過編譯。
因為test()重定義了。
#include "***.c"主要還是應用於較大規模的軟體中的配置檔案,來決定哪些source參與編譯,至於那些不需要的,則可以輕易加字首//
c語言中 .c和.h有什麼區別
7樓:暴素芹區甲
c語言的原始檔分為兩種:
1、.c檔案,以c為副檔名,一般儲存具體功能的實現;
2、.h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。
通常,標頭檔案被.c檔案包含,使用#include語句。但值得注意的是,這只是一種約定,而非強制。
事實上,將宣告寫在.c檔案,比如a.c,然後#include "a.c"
同樣是合法的。
而把.h檔案,內部寫入函式實現,再在.c檔案中引用,也是編譯器允許的。
所以,.c與.h的區分,本質上是一種約定。一名合格的軟體開發人員,也要遵循這個約定,增加**的可讀性和維護性。
c語言中 .c和.h有什麼區別
8樓:大野瘦子
一、意思不同
.h中一般放的是同名.c檔案中定義的變數、陣列、函式的宣告,需要讓.c外部使用的宣告。
.c檔案一般放的是變數、陣列、函式的具體定義。
二、用法不同
.c檔案,以c為副檔名,一般儲存具體功能的實現。
.h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。通常,標頭檔案被.c檔案包含,使用#include 語句。但值得注意的是,這只是一種約定,而非強制。
三、作用
如果在h檔案中實現一個函式體,那麼如果在多個c檔案中引用它,而且又同時編譯多個c檔案,將其生成的目標檔案連線成一個可執行檔案,在每個引用此h 檔案的c檔案所生成的目標檔案中,都有一份這個函式的**,如果這段函式又沒有定義成區域性函式,那麼在連線時,就會發現多個相同的函式,就會報錯。
如果在h檔案中定義全域性變數,並且將此全域性變數賦初值,那麼在多個引用此h檔案的c檔案中同樣存在相同變數名的拷貝,關鍵是此變數被賦了初值,所以編 譯器就會將此變數放入data段,最終在連線階段,會在data段中存在多個相同的變數,它無法將這些變數統一成一個變數,也就是僅為此變數分配一個空 間,而不是多份空間,假定這個變數在h檔案沒有賦初值,編譯器就會將之放入bss段,聯結器會對bss段的多個同名變數僅分配一個儲存空間。
9樓:風若遠去何人留
c語言的原始檔分為兩種:
1、.c檔案,以c為副檔名,一般儲存具體功能的實現;
2、.h檔案,稱為標頭檔案,一般儲存型別的定義,函式的宣告等。
通常,標頭檔案被.c檔案包含,使用#include 語句。
但值得注意的是,這只是一種約定,而非強制。
事實上,將宣告寫在.c檔案,比如a.c,然後#include "a.c"
同樣是合法的。
而把.h檔案,內部寫入函式實現,再在.c檔案中引用,也是編譯器允許的。
所以,.c與.h的區分,本質上是一種約定。一名合格的軟體開發人員,也要遵循這個約定,增加**的可讀性和維護性。
10樓:匿名使用者
標頭檔案用於定義型別
c檔案主要用於寫實現.
11樓:匿名使用者
在」998999999899998」ii
c語言中的標頭檔案例如cstdio和stdio.h,cstdio中的c與stdio.h的.h有什麼區別?謝謝
12樓:匿名使用者
stdio.h是先到你程式所在資料夾找標頭檔案,若沒找到再去vc或tc安裝目錄下找標頭檔案
只到vc或tc安裝目錄下去找標頭檔案
stdio.h他是c語言中一個庫函式,在他的左右兩邊加「」和<>都是一樣的,在vc++環境中,電腦都能識別,這兩種寫法不同,但要表達的意思是一樣的。舉個簡單的
#include#include"stdio.h"void main()void main()} 這兩個c語言程式輸出的都是c yu yan這幾個字母,這兩個「」和<>你喜歡哪一個你就寫哪一個,所表達的意思都是一樣的。
13樓:金色潛鳥
stdio.h 是 c 語言標準庫 中的標頭檔案。
cstdio 是 c++ std namespace 裡的庫函式 標頭檔案。
功能上 都是 標準輸入輸出函式 (標頭檔案/函式原型宣告),但它們是不同的 檔案,內容 也不完全相同。
用 cstdio 時,若程式裡 未加 using namespace std 時,呼叫這個名字空間的函式 需加 std::
c++ 程式應當用 cstdio, c 程式應當用 .h;
詳見
c語言中標頭檔案中<*.h>和「*.h」的區別?
14樓:匿名使用者
<*.h>表示優先中系統目錄中查詢 該標頭檔案 比如#include 這是系統中的
"*.h"表示優先從當前目錄中查詢 該標頭檔案 比如#include "head.h" 這是你自己寫的
15樓:縱橫朝野
前者編譯時系統直接在標頭檔案庫中尋找包含內容。
後者編譯時系統會先在儲存程式的資料夾中找程式包含檔案,之後去標頭檔案庫中尋找;
16樓:
<*.h>直接在編譯器標準庫路徑查詢,不到別的地方找。
"*.h"先在當前檔案路徑找,如果找不到,再去標準庫路徑找,如果還找不到,那就完了。
#include "一個絕對路徑",那隻在你指定的路徑查詢。
17樓:匿名使用者
標頭檔案<*.h>只檢索vc++自帶的標頭檔案
標頭檔案"*.h"可以檢索使用者自己編寫的標頭檔案
18樓:匿名使用者
對於#include <*.h> ,編譯器從標準庫路徑開始搜尋*.h ,對於#include 「*.h」 ,編譯器從使用者的工作路徑開始搜尋 *.h。
19樓:秦奇敏康寧
c的標頭檔案都有副檔名.h,c++中,將這些c的標頭檔案名的新增字元c,並去除副檔名.h。如
math.h
→cmath
stdlib.h
→cstdlib等等
在c語言中,#include
20樓:影者東昇
#include //定義輸入/輸出函式
#include //字串處理
c/c++標頭檔案一覽
c、傳統 c++
#include //設定插入點
#include //字元處理
#include //定義錯誤碼
#include //浮點數處理
#include //檔案輸入/輸出
#include //引數化輸入/輸出
#include //資料流輸入/輸出
#include //定義各種資料型別最值常量#include //定義本地化函式
#include //定義數學函式
#include //定義輸入/輸出函式
#include //定義雜項函式及記憶體分配函式#include //字串處理
#include //基於陣列的輸入/輸出#include //定義關於時間的函式
#include //寬字元處理及輸入/輸出#include //寬字元分類
標準 c++ (同上的不再註釋)
#include //stl 通用演算法
#include //stl 位集容器
#include
#include
#include
#include
#include //複數類
#include
#include
#include
#include
#include //stl 雙端佇列容器#include //異常處理類
#include
#include //stl 定義運算函式(代替運算子)#include
#include //stl 線性列表容器#include //stl 對映容器
#include
#include //基本輸入/輸出支援
#include //輸入/輸出系統使用的前置宣告#include
#include //基本輸入流
#include //基本輸出流
#include //stl 佇列容器
#include //stl 集合容器
#include //基於字串的流
#include //stl 堆疊容器
#include //標準異常類
#include //底層輸入/輸出支援
#include //字串類
#include //stl 通用模板類
#include //stl 動態陣列容器#include
#include
using namespace std;
c99 增加
#include //複數處理
#include //浮點環境
#include //整數格式轉換
#include //布林環境
#include //整型環境
#include //通用型別數學巨集
c語言a和a有什麼區別,C語言中 a 和 a 有什麼區別
1 本質區別 雙引抄號襲 裡面的是字串,而單引號裡面的代表字元。2 輸出區別 str a 輸出的就是a這個字母 str a 輸出的測試65 3 底層區別 用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。1 用 對包bai含的du 代表字元常量,其zhi值為...
C語言中c m和c m的區別,C語言中 「 c m」和「c m」的區別是什麼?
是取址運算bai符,取變數在內du存單元中的首zhi地址dao,取地址運算子的操作物件必須專是記憶體單元 如變數 數屬組元素等 是間接訪問運算子,間接訪問指標所指向的物件,運算子的操作物件必須是指標 地址 因此 c m是把m在記憶體中的地址賦給c這個指標指向的變數c m是把m的地址賦給c這個指標 1...
指令碼語言,C語言,C 語言有什麼區別
語言本質沒有區別,只是在不同領域某些語言優勢更明顯某些語言優勢更不明顯而已 c 就是在c的基礎上引入了更過的東西。c語言和c 語言的區別是什麼?c語言與c 的區別有很多 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在一個...