C語言學習筆記(1)

2021-06-02 07:48:28 字數 783 閱讀 6209

/標頭檔案

///silence獨家

標頭檔案之間的相互依賴性導致編譯時間的上公升。過度複雜的標頭檔案包含關係,使得編譯頻繁,而且大大增加編譯的時間。

(1)  標頭檔案中適合放置介面的宣告,不適合放置實現

內部使用的函式(注意是內部使用函式)宣告不應該放在標頭檔案中;

內部使用的巨集,列舉,結構定義不應該放入標頭檔案中;

變數定義不應該放在標頭檔案中,應在.c檔案中;

變數的宣告盡量不要放在標頭檔案中,即不要使用全域性變數作為介面。

(2)標頭檔案應當職責單一

(3)標頭檔案應向穩定的方向包含

(4)每乙個.c檔案應有乙個同名的.h檔案,用於宣告需要對外公開的介面

(5)禁止有檔案迴圈依賴

(6).c/.h檔案禁止包含用不到的標頭檔案

(7)標頭檔案應當自包含

(8)總是編寫內部#include保護符(#define保護)

(9)禁止在標頭檔案中定義變數

(10)只能通過包含標頭檔案的方式使用其他.c提供的結構,禁止在。c中通過extern的方式使用外部函式的介面變數。

(11)禁止在extern「c」中包含標頭檔案。

建議:(1) 乙個模組通常包含多個.c檔案,建議放在同乙個目錄下,目錄名即為模組名。為方便外部使用,建議每乙個模組提供乙個.h,檔名為目錄名;

(2) 如果乙個模組包含多個子模組,建議每乙個子模組提供乙個對外的.h,檔名為子模組名,以降低介面使用者的編寫難度;

(3)標頭檔案不要使用非習慣用法的副檔名,如.inc;

(4)同一產品統一包含標頭檔案排列方式;

C語言學習筆記1

1 c語言中gets 與scanf 兩個函式的區別 可以用如下兩種方式輸入字串 char string 15 gets string 遇到回車認為輸入結束 scanf s string 遇到空格認為輸入結束 所以在輸入的字串中包含空格時,應該使用gets輸入。2 break 與continue的區別...

C語言學習筆記1

1.任何c語言程式都可以從main函式開始執行,從main函式結束。main 括號裡就是函式輸入,輸出型別由其前面的關鍵字定義 void 是返回型別為空即可以無輸出 當引數改變時輸出也會改變,裡面的內容就是函式體,即怎樣將輸入轉化為輸出。c語言嚴格區分大小寫,且main函式有且僅有乙個 2.h檔案就...

C語言學習筆記(1)

這個總結寫於2015年 03月。windows r組合鍵,進入登錄檔 regedit 修改cmd顯示語言 進入cmd後 中文 chcp 936 英文 chcp 437 d 碟符 冒號 轉換到指定的碟符下面 cd zixue7 cd 資料夾 轉換到資料夾 cd 轉到當前目錄的根目錄 多行注釋 注釋內容...