#define 識別符號 常量
(注意, 最後沒有分號)
注釋:#define 和 #include 一樣,也是以「#」開頭的。凡是以「#」開頭的均為預處理指令
#define又稱巨集定義,識別符號為所定義的巨集名,簡稱巨集。識別符號的命名規則與前面講的變數的命名規則是一樣的。#define 的功能是將識別符號定義為其後的常量。一經定義,程式中就可以直接用識別符號來表示這個常量。是不是與定義變數類似?但是要區分開!變數名表示的是乙個變數,但巨集名表示的乙個常量。可以給變數賦值,但絕不能給常量賦值。
巨集定義 #define 一般都寫在函式外面,與 #include 寫在一起。當然,寫在函式裡面也沒有語法錯誤,但通常不那麼寫。#define 的作用域為自 #define 那一行起到源程式結束。如果要終止其作用域可以使用 #undef 命令,格式為:
#undef 識別符號
那麼這個巨集的作用範圍到此就結束了。#undef 用得不多,但大家要了解。..
#ifndef __led_h
#define __led_h
#include "sys.h"
#define led0
pbout(5
)// pb5
#define led1
peout(5
)// pe5
void
led_init
(void);
//初始化
#endif
這種結構就是通常所說的包裝器 #ifndef。當再次引用標頭檔案時,條件為假,因為__led_h 已定義。此時,預處理器會跳過檔案的整個內容,編譯器會忽略它。 C語言筆錄 2 C 語言中 static
c 語言中 static 的作用 1.先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加 static 字首的全域性變數和函式都具有全域性可見性。為理解這句話,我舉例來說明。我們要同時編譯兩個原始檔,乙個是 a.c,另乙個是 main.c。下面是 main.c 的內容 下面...
Sqli LABS通關筆錄 1
在第乙個關卡當中還是學到些知識。1.注釋語句多試試其他的幾個 2.不報錯可能是前面的語句沒有錯誤,union沒有得到執行。加單引號報錯了。從上面的錯誤提示當中,我們可以看到提交到sql中的1 在經過sql語句構造後形成 1 limit 0,1,多加了乙個 接下來想如何將多餘的 去掉 可以借鑑一下原始...
C 學習筆錄4
1 容器 資料結構 演算法。相當於是為複雜的資料設計一種專門用於存放該資料的東西。用於開發中傳遞複雜的資料。2 模版函式只能寫在標頭檔案中。不能單獨做宣告。3 stl容器類分為三類 1 順序容器類 vector 陣列。查詢快,但是插入慢。加入的資料順序與大小有關。deque 陣列。比vector查詢...