1. 程式人生 > >STM32學習筆記——printf

STM32學習筆記——printf

### printf複習 當我們寫`printf("%d\n", 1);`的時候,`printf`函式並不能通過C語言語法得知第二個引數是`int`型別。`printf`是一個變參函式(variadic function): ``` int printf(const char *restrict format, ...); ``` 引數的型別都是通過格式串`format`推匯出的。如果引數型別與格式串中指定的不匹配,或提供的引數數量少於需要的,將導致未定義行為。 由於引數型別是動態的,`printf`和`scanf`比靜態型別的`std::cout`和`std::cin`慢,前提是後者的眾多overhead被手動消除。 C為可變引數提供了`va_start`、`va_arg`、`va_copy`、`va_end`、`va_list`等工具,定義在