[英]What does 'ap' stand for in C examples?
例如,在參考中:
type va_arg (va_list ap, type)
ap
代表參數指針嗎? 別的什么?
這實際上是一個容易回答的問題。
ap
代表參數指針 。
來自C編程語言 ,第二版,Brian W. Kernighan和Dennis M. Ritchie:
7.3可變長度參數列表
[...]類型va_list用於聲明一個將依次引用每個參數的變量; 在minprintf中,這個變量叫做ap,用於“參數指針”
ap
代表Argument Pointer 。 實際上,它有時縮寫為arg_ptr
:
type va_arg(
va_list arg_ptr,
type
);
type
- 要檢索的參數類型。arg_ptr
- 指向參數列表的指針。
這實際上是一個難以回答的問題。
見ouah的回答 ; K&R2中提到了短語“參數指針”。
<stdarg.h>
頭是在1989年由ANSI C標准引入的arg_ptr
C Rationale沒有顯示任何示例,也沒有使用名稱ap
或arg_ptr
。 標准本身(最新草案在這里使用名稱ap
在示例中,但不解釋它。
我無法找到名稱ap
的解釋。 它最初代表“參數指針”似乎是合理的,但同樣重要的是要注意類型va_list
不是(必然)指針類型。 例如,在gcc中,它被定義為__builtin_va_list
,這是一種由編譯器直接實現的類型。 (它在我的系統上恰好有24個字節的大小,但這不是特別有用的信息)。
底線:名稱ap
是va_list
對象的常規名稱,因為我們不需要關心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.