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