1. 程式人生 > >#ifndef #define #endif的作用

#ifndef #define #endif的作用

#ifndef x           //先測試x是否被巨集定義過
#define x
   程式段1blabla~    //如果x沒有被巨集定義過,定義x,並編譯程式段 1 #endif 
  程式段2blabla~   //如果x已經定義過了則編譯程式段2的語句,“忽視”程式段 1

#ifndef 和 #endif 要一起使用,如果丟失#endif,可能會報錯。
總結一下:在c語言中,對同一個變數或者函式進行多次宣告是不會報錯的。
所以如果h檔案裡只是進行了宣告工作,即使不使用# ifndef巨集定義,一個c檔案多次包含同一個h檔案也不會報錯。 
使用#ifndef可以避免下面這種錯誤:如果在h檔案中定義了
全域性變數
,一個c檔案包含同一個h檔案多次,如果不加#ifndef巨集定義,會出現變數重複定義的錯誤;如果加了#ifndef,則不會出現這種錯.