C語言 define巨集中省略號的含義

2021-07-02 20:45:00 字數 556 閱讀 7889

在ldd第三版第4章中給出如下巨集定義,請問args後面的省略號(...)有什麼作用?在args與省略號之間加入逗號有什麼影響?

#

define pdebug(fmt, args...

) printk( kern_debug "scull: " fmt,

## args)

參與了一些資料之後才明白:巨集定義中的省略號表示一串可變的引數, 這一串引數可用args加以引用.比如, **

pdebug(

"a=%d, b=%d"

, a, b)

;

在展開巨集時, 由於args = a, b, 故展開後變為

printk( kern_debug "scull: "

"a=%d, b=%d"

, a, b)

;

巨集定義中的省略號就是指一串數目不限的引數列表,前面用args只有為了後面引用這串引數.如果在args與省略號之間加入逗號,就變成args = a, 而省略號指向的那串引數只包含乙個b.

C 函式引數省略號

int println const char fmt,該省略號表示,c 編譯器只會檢查函式的第乙個引數的資料型別,不會檢查剩下的引數個數和資料型別。在函式中如果要使用可變引數,需要 include,在函式中使用va list型別和va start va arg va end 3個巨集讀取傳遞到函式中...

Web中的省略號

在web開發中,對於一種情況很常見。那就是,文字太長,而放置文字的容器不夠長,而我們又不想讓文字換行,所以,我們想使用省略號來解決這個問題。但是,在今天html的標準中並沒有相關的標識或屬性讓你可以簡單地完成這個事。但是我們可以使用css樣式表來完成這個事,在ie,safari,chrome,ope...

android TextView省略號的使用

當你的textview的內容很長,但是你又不希望整個文字內容都顯示出來,而是希望只是顯示內容的前面一部分,後面的內用用省略號代替,可以用一下方法 在你的xml檔案中加入 android ellipsize end android singleline true 其中,end標示省略號在結尾的地方出現...