新聞中心
C語(yǔ)言怎么實(shí)現(xiàn)一個(gè)能適用于不同數(shù)據(jù)類(lèi)型的函數(shù)
你可以用c++模板
網(wǎng)站的建設(shè)成都創(chuàng)新互聯(lián)專(zhuān)注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開(kāi)發(fā).小程序定制開(kāi)發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為門(mén)簾等企業(yè)提供專(zhuān)業(yè)服務(wù)。
你可以函數(shù)參數(shù)用指針,然后強(qiáng)制轉(zhuǎn)換;另一個(gè)參數(shù)指明類(lèi)型
例如:
void?Func(int?*ptr,int?type)
{
switch(type){
case?0:?*ptr?=?0;???????//int
case?1:?*(char?*)ptr?=?'\0';?????//char
case?2:?*(long?int)ptr?=?0xfffffff;???????//long?int
}
}
求采納?。?/p>
C語(yǔ)言自定義數(shù)據(jù)類(lèi)型
自定義數(shù)據(jù)類(lèi)型就是用戶(hù)可以隨時(shí)在程序中自行定義新的數(shù)據(jù)類(lèi)型。自定義數(shù)據(jù)類(lèi)型時(shí)需要設(shè)置數(shù)據(jù)類(lèi)型的名稱(chēng)及其成員。數(shù)據(jù)類(lèi)型成員各屬性的設(shè)置方法等同于變量設(shè)置時(shí)相應(yīng)屬性的設(shè)置方法。
C中定義數(shù)據(jù)類(lèi)型是為了容易編程,定義了數(shù)據(jù)類(lèi)型之后又定義了數(shù)據(jù)類(lèi)型之間的各種運(yùn)算,這樣對(duì)編程人來(lái)說(shuō)就會(huì)方便很多。
如不定義數(shù)據(jù)類(lèi)型,那么數(shù)據(jù)之間的差別只有位不同而已,這樣如果要定義一個(gè)字符變量,首先要去申請(qǐng)一個(gè)8位的內(nèi)存,再去按ASCII碼對(duì)其進(jìn)行賦值,這樣的話(huà)操作很復(fù)雜。
擴(kuò)展資料
1、數(shù)據(jù)類(lèi)型的轉(zhuǎn)換是在計(jì)算過(guò)程中逐步進(jìn)行的,整個(gè)表達(dá)式結(jié)果的數(shù)據(jù)類(lèi)型一定與表達(dá)式中出現(xiàn)的精度最高的數(shù)據(jù)相同,但是具體得到數(shù)據(jù)值是逐步得到的。
2、C語(yǔ)言算術(shù)表達(dá)式的計(jì)算,在計(jì)算過(guò)程中,每一步計(jì)算所得結(jié)果的數(shù)據(jù)類(lèi)型由參與運(yùn)算的運(yùn)算對(duì)象決定,相同數(shù)據(jù)類(lèi)型的兩個(gè)對(duì)象運(yùn)算,結(jié)果數(shù)據(jù)類(lèi)型不變,不同數(shù)據(jù)類(lèi)型的運(yùn)算對(duì)象進(jìn)行運(yùn)算,結(jié)果的數(shù)據(jù)類(lèi)型由高精度的運(yùn)算對(duì)象決定。
如何用標(biāo)準(zhǔn)c語(yǔ)言實(shí)現(xiàn)某一函數(shù)能接受任意類(lèi)型數(shù)據(jù)為參數(shù)?
直接寫(xiě)void類(lèi)型就行了。
void fun (void arr[],int arrlen)//調(diào)用的時(shí)候需要的話(huà)進(jìn)行相關(guān)的強(qiáng)制類(lèi)型轉(zhuǎn)換。C的話(huà)就是這樣
{
//.....寫(xiě)具體的需求
}
如果是C++的話(huà),一般都用模板了。
c語(yǔ)言 判斷文件中的數(shù)據(jù)類(lèi)型
從文本讀???那全部都是char. 然后你必須有一定的格式要求才行。
如果是格式化文本(就是有分隔符的),比如csv(逗號(hào)分隔符啥的),這個(gè)倒是有第三方庫(kù)函數(shù),不過(guò)是C++的。
分享標(biāo)題:c語(yǔ)言自適應(yīng)數(shù)據(jù)類(lèi)型函數(shù) 自適應(yīng)的算法
本文URL:http://fisionsoft.com.cn/article/ddeopeg.html