【C语言进阶深度学习记录】三十九 C语言中的可变参数(参数可变的函数)
生活随笔
收集整理的這篇文章主要介紹了
【C语言进阶深度学习记录】三十九 C语言中的可变参数(参数可变的函数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用過printf()函數的熱都知道,printf的參數可以有多個,它是可變的,根據我們輸出參數的類型以及個數的不同來確定參數。今天來學習C語言中參數可變的函數是如何實現的。
文章目錄
- 1 可變參數
- 2 總結
1 可變參數
首先我們要明白一點,在C語言中,參數可變的函數的實現,要依賴于頭文件stdarg.h。所以在實現這樣的函數的時候,需要包含該頭文件。
其次,實現函數可變參數需要使用以下幾個類型參數,我們需要熟練掌握它們的使用,下面先看看這些參數是什么?
看了上面的參數的意義,還是不知道什么是什么。下面看一個例子,就能徹底明白了。
下面函數的意思是求n個數的平均值。這n個數直接作為參數傳遞給函數(這么寫肯定是效率不高,這里只是為了學習使用)
- 45-2.c
- 上述代碼編譯運行結果為:
上面代碼不難,主要是學會使用那幾個參數的使用。我們需要注意以下幾點:
- 可變參數必須從頭到尾按照順序逐個訪問
- 參數列表中,至少要存在一個確定的命名參數
- 可變參數函數無法確定實際的參數的數量,需要在運行的時候根據具體的傳參結果來計算
- 可變參數函數,無法確定參數的實際類型
注意:如果va_arg中指定的參數的類型與實際的不匹配,那么最終的計算結果將是不可預測的。
2 總結
- 學會定義可變參數的函數。主要是使用方法。
總結
以上是生活随笔為你收集整理的【C语言进阶深度学习记录】三十九 C语言中的可变参数(参数可变的函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++标准库与Java基础类对照表
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习