中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

怎么在c語言中利用stdarg.h實現一個可變參數函數

這篇文章將為大家詳細講解有關怎么在c語言中利用stdarg.h實現一個可變參數函數,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

目前創新互聯公司已為上千多家的企業提供了網站建設、域名、雅安服務器托管、網站托管、服務器托管、企業網站設計、七星網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

頭文件

這個用法需要引用一些宏,這些宏定義在C標準庫“stdarg.h”中,(當然C++中就是“cstdarg”了)。

函數聲明

int fun(int arg1,int arg2, ...){
//foo
}


這里可以用普通傳參方法傳入幾個固定參數,一般情況下會有個表示可變參數的個數(否則函數也不曉得你到底傳給了他啥),最后表示可變參數部分的是三個連續的點,注意中間不能有空格。我們傳入的可變參數就是在這里的。

具體用法

這里主要涉及到va_list類型,va_start()、va_arg()、va_end()這幾個函數。

va_list 可以理解為以鏈表的形式保存那些可變參數的一個數據類型(既然是鏈表,當然是可變的了)。

void va_start(va_list ap , int len); 接受兩個參數,一個是上面的那個東西,還有一個表示數據的數目。目測可以理解為是自動收集傳給本函數的可變參數,并連帶他的數目,將信息賦給 va_list 。

type va_arg(va_list ap , type ); 接受兩個參數,一個是va_list,另一個是保存的數據的類型。因為在調用參數的時候,編譯器不會檢查實際輸入的是什么參數,所以需要適時的指定,并以那個類型返回。注意,這時候在va_list中的某個指針會指向下一個元素,所以下一次調用時輸出的值就是下一個元素。在這一點上用法類似于iterator。

void va_end(va_list ap);最后清理這個va_list.

演示源碼

#include<stdarg.h>
#include<stdio.h>
void print(intarg,...){
 va_list ap;
 va_start(ap, arg);
 for (int i = 0; i < arg; i++){
 printf("%d ", va_arg(ap,int));
 }
 va_end(ap);
}
int main(){
 print(4, 1, 2, 3, 4);
}

結果自然是輸出 1 2 3 4。

關于怎么在c語言中利用stdarg.h實現一個可變參數函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

本文題目:怎么在c語言中利用stdarg.h實現一個可變參數函數
網站URL:http://m.2m8n56k.cn/article30/jdsspo.html

成都網站建設公司_創新互聯,為您提供網站收錄手機網站建設移動網站建設云服務器全網營銷推廣外貿建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 日本韩经典三级在线播放 | 久久福利青草精品资源站 | 国产亚洲精品免费 | 午夜黄色网 | 天天看有黄有色大片 | 婷婷国产成人久久精品激情 | 国产成人精品.一二区 | 亚洲综合精品成人 | 国产精品黄色 | 亚洲美女视频网址 | 青青视频国产依人在线 | 99手机在线视频 | 久久网站免费观看 | 亚洲精品国产字幕久久不卡 | 国产精品分类视频分类一区 | 美国一级毛片片aaa 美国一级毛片片aa成人 | 久久久久国产精品免费免费 | 亚洲第一中文字幕 | 亚洲一级特黄特黄的大片 | 日韩美女一级毛片 | 米奇精品一区二区三区 | 成年网站视频在线观看 | 国产成人综合亚洲 | 日鲁夜鲁鲁狠狠综合视频 | 亚洲在线免费观看 | 久草最新在线 | 日韩美视频网站 | 特级做a爰片毛片免费看 | 综合图片亚洲网友自拍10p | a毛片在线还看免费网站 | 在线a人片免费观看国产 | 欧美一区三区 | 欧美一级高清片欧美国产欧美 | 一级做a毛片免费视频 | 精品一区二区三区五区六区 | 理论视频在线观看 | 无码免费一区二区三区免费播放 | 国产亚洲一欧美一区二区三区 | 亚洲视频在线播放 | 99精品视频在线视频免费观看 | 毛片一级做a爰片性色 |