巨集定義的使用容易犯錯的地方 提醒

2021-06-21 00:18:26 字數 470 閱讀 5804

/*不經意間犯了乙個小錯誤,反映出來自己的基礎還是不夠紮實. 

現在列出來,給自己提個醒.

*/

#define my_func 0

#ifdef my_func

//my function /*在這種情況下,無論 #define my_func 0 還是 #define my_func 1, 此處永為真,因為my_func 已經定義了 */

#esle

//other code

#endif

//這段code應該這樣寫, 就符合自己的邏輯了:

#define my_func 0

#if my_func

//my function

#esle

//other code

#endif

編寫C程式容易犯錯的地方

編寫c程式要注意的地方非常多,稍不留神就會掉入萬劫不復的 坑 以下就列舉一些 陣列 結構體,以及動態建立的記憶體區域必須初始化。如果不進行初始化,變數值是不可預估的!例如 struct node node node memset node,0,sizeof node if node next nul...

結構體定義容易混淆的地方

第一種 struct student student為結構體名,相當於一種資料型別。可以和int char等一樣的用法。a.這種形式用在c語言中,要宣告該結構體型別的物件,應該寫為struct student stud1 b.這種形式用在c 語言中,要宣告其物件,直接寫student stud1 第...

C C之易犯錯的地方

1 cin char str new char 100 cin str cout str endl 例如 輸入 ajfgjsfg djfhsdjgh sdjgsdjgj 輸出 ajfgjsfg說明cin讀取到直到遇到空格。2 strlen char str1 cout strlen str1 end...