聲明 & 定義
- 聲明 declare : 這個名字是什麼意思;extern,函數聲明在C++中是必須的。其中extern 和 參數名稱可以省略。
- 定義 define :這個名字分配的存儲空間;
unsigned char * 是c編譯器支持的最小的存儲片。
無數據成員的結構總應當有最小的非零長度。
堆和棧:
如果在棧上創建一個變量,那麼這個變量的存儲單元由編譯器自動開闢和釋放。
編譯器準確地知道需要多少存儲容量,根據這個變量的活動範圍知道這個變量的生命期。而對
動態內存分配,編譯器不知道需要多少存儲單元,不知道它們的生命期,不能自動清除。因此,
程序員應負責用free( )釋放這塊存儲。
防止重複引用頭文件
典型的防止方法是使用預處理器隔離這個頭文件。如果有一個頭文件名爲 F O O . H,一般
用“名字分解”產生預處理名,以防止多次包含這個頭文件。FOO.H 的內部可以如下:
#ifndef FOO_H_
#define FOO_H_
// Rest of header here ...
#endif // FOO_H_
注意:不用前導下劃線,因爲標準 C 用前導下劃線指明保留標識符。