簡體   English   中英

printf()中的任意數量的參數。 在C編程中這叫什么?

[英]Arbitrary number of arguments in printf(). What is this called in C programming?

當我們使用帶有不同數量參數的printf()

printf("Hello");

printf("%d",a);

printf("%d%d",b,c);

為什么不將其稱為“重載”(使用具有不同任務的相同方法執行)? 如果重載,那么為什么C不被認為是一種面向對象的編程語言?

這稱為可變函數 ,而不是重載。 重載與面向對象無關。

為什么這不稱為“超載”

因為您使用的是相同的功能

int printf(const char *restrict format, ...);

重載的先決條件是具有不同的功能/方法,它們的名稱相同。 在這里,我們只有一個功能 ,盡管它具有varargs 功能 ,但用途非常廣泛。

這不是方法重載。 碰巧printf收到一個可選的vargs作為第二個參數,即可變參數列表。

int printf(const char * format,...);

將格式化的數據打印到stdout將標准格式指定的格式化數據序列寫入標准輸出(stdout)。 在format參數之后,該函數至少需要與format指定的數量一樣多的附加參數。

面向對象的程序設計是指包括封裝,消息傳遞,繼承和多態性的范例。 換句話說,OO意味着使用被覆蓋的 virtual函數定義一個class 這與重載不同, 重載是根據參數的類型在函數中執行不同的操作。

printf()所做的既不是重載也不是重寫 這是一個變長參數列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM