C语言宏的主要作用
宏主要有四大類作用:
1.和條件編譯指令配合,進行條件編譯.
比如: 1)頭文件的防止多重包含機制.
2)根據不同編譯器選擇不同代碼段.
2.對需要變動的常量進行控制.
比如: 控制定義數組的長度.
3.對應碼(比如寄存器功能碼、狀態碼、指令的參數碼、一些協議的指令碼)
1)降低使用具體碼的出錯率.(有語義的標識符出錯時編譯器會報錯)
2)降低開發時開發人員的記憶量.(即有語義的標識符比記雜亂的數字容易)
在這種情況下,宏定義就是將被宏定義的東西和特定宏標識符對應起來,讓人只要在意它所對應的東西而不用記它本身。因為記它本身是沒有實際意義的,它的價值在于它所對應的東西。通過宏就可以間接對應到被宏定義的東西所對應的東西了。
4.對應特定需要被處理的數據
1)降低使用具體數據的出錯率.(有語義的標識符出錯時編譯器會報錯)
2)降低開發時開發人員的記憶量.(即有語義的標識符比記憶具體的數據容易)
5.起到模板的作用
帶參數宏都是在模板中使用.
#、##都是在模板作用中使用.(不然沒有意義)
使用注意: 1.注意宏體保護(用括號)
例1: 字符串化
源文件: <example.c>
結果: <example.i>
int main() {a;"a";123;"123";return 0; }例2: 連接符
源文件: <example.c>
結果: <example.i>
int main() {123a;return 0; }例3:
源文件: <example.c>
總結
- 上一篇: sprintf在c语言中的作用,c语言中
- 下一篇: java字体怎么带下划线_链接的字体及下