C語言筆錄 1

2021-10-14 04:10:12 字數 847 閱讀 1383

#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查詢...