日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf

發(fā)布時(shí)間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

您所在位置:網(wǎng)站首頁(yè) > 海量文檔

&nbsp>&nbsp計(jì)算機(jī)&nbsp>&nbspC/C++資料

C語(yǔ)言可變長(zhǎng)參數(shù)實(shí)現(xiàn)“多態(tài)”.pdf6頁(yè)

本文檔一共被下載:次,您可全文免費(fèi)在線(xiàn)閱讀后下載本文檔。

下載提示

1.本站不保證該用戶(hù)上傳的文檔完整性,不預(yù)覽、不比對(duì)內(nèi)容而直接下載產(chǎn)生的反悔問(wèn)題本站不予受理。

2.該文檔所得收入(下載+內(nèi)容+預(yù)覽三)歸上傳者、原創(chuàng)者。

3.登錄后可充值,立即自動(dòng)返金幣,充值渠道很便利

砍砍樹(shù)樹(shù)的的

知知識(shí)識(shí)就就是是力力量量,,技技術(shù)術(shù)成成就就夢(mèng)夢(mèng)想想。。SSttaannddiinngg oonn SShhoouullddeerrss oo GGiiaannttss..

CC語(yǔ)語(yǔ)言言可可變變長(zhǎng)長(zhǎng)參參數(shù)數(shù)實(shí)實(shí)現(xiàn)現(xiàn) ““多多態(tài)態(tài)””

分類(lèi): C/C++ 2013-12-02 10:30 173人閱讀 評(píng)論 (0) 收藏 舉報(bào)

c語(yǔ)言多態(tài)面向?qū)ο?/p>

一一、、問(wèn)問(wèn)題題來(lái)來(lái)源源

先看看困惑來(lái)來(lái)源:

這讓我很疑惑,難道c也支持 “多態(tài)”的特性么?貌似沒(méi)見(jiàn)過(guò)呀~

二二、、解解決決方方案案

google幫忙,明白了一二,特此記錄:

原來(lái)這種 “多態(tài)”是通過(guò)c語(yǔ)言的可變長(zhǎng)參數(shù)實(shí)現(xiàn)的 (python也具有這種特性)

有關(guān)可變長(zhǎng)參數(shù)的介紹見(jiàn)文章末尾的參考列表,說(shuō)的很詳細(xì)。

截取關(guān)鍵的內(nèi)容:

1.可變長(zhǎng)參數(shù)的宏定義:

(學(xué)習(xí)宏函數(shù)的典例呀)

// stdarg.h

#define va_start _crt_va_start

#define va_arg _crt_va_arg

#define va_end _crt_va_end

// vadefs.h

typedef char * va_list;

#define _crt_va_start(ap,v) ( ap = (va_list)_ADDRE OF(v) + _INT IZEOF(v) )

#define _crt_va_arg(ap,t) ( *(t *)((ap += _INT IZEOF(t)) - _INT IZEOF(t)) )

#define _crt_va_end(ap) ( ap = (va_list)0 )

#define _ADDRE OF(v) ( &(v) )

#define _INT IZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )

2.可變長(zhǎng)參數(shù)的宏介紹:

C語(yǔ)言可變參數(shù)通過(guò)三個(gè)宏 (va_start、va_end、va_arg)和一個(gè)類(lèi)型 (va_list)實(shí)現(xiàn),

void va_start ( va_list ap, paramN );

參數(shù):

ap: 可變參數(shù)列表地址

paramN: 確定的參數(shù)

1

功能:初始化可變參數(shù)列表 (把函數(shù)在 paramN 之后的參數(shù)地址放到 ap 中)。

void va_end ( va_list ap );

功能:關(guān)閉初始化列表 (將 ap 置空)。

type va_arg ( va_list ap, type );

功能:返回下一個(gè)參數(shù)的值。

va_list :存儲(chǔ)參數(shù)的類(lèi)型信息。

好了,綜合上面3個(gè)宏和一個(gè)類(lèi)型可以猜出如何實(shí)現(xiàn)C語(yǔ)言可變長(zhǎng)參數(shù)函數(shù):用 va_start 獲取參數(shù)列表 (的地址)存儲(chǔ)到 ap 中,

按照說(shuō)明,我實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的測(cè)試代碼,來(lái)測(cè)試可變長(zhǎng)參數(shù):

/*************************************************************************

* @File Name: test.c

* @Author: kehr

* @Mail: kehr163@163.com

* @Created Time: 2013年11月30日 星期六 19時(shí)06分32秒

* @Copyright: GPL 2.0 applies

* @Purpose: 測(cè)試可變長(zhǎng)參數(shù),實(shí)現(xiàn)c的“多態(tài)”

*************************************************************************/

#include

#include

void show(int first_param,int flag, ...);

int main()

{

show(1,2,3,4,5);

return 0;

}

void show(int first_param,int flag, ...)

{

//定義參數(shù)列表

va_list v

發(fā)表評(píng)論

請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。

用戶(hù)名:

驗(yàn)證碼:

匿名?

發(fā)表評(píng)論

總結(jié)

以上是生活随笔為你收集整理的可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。