chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一句話(huà)幫你理解 typedef 的用法

丫丫119 ? 來(lái)源:未知 ? 作者:肖冰 ? 2019-09-19 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

C語(yǔ)言中typedef用來(lái)給復(fù)雜聲明定義別名非常的方便,不過(guò)有時(shí)候typedef在復(fù)雜聲明中不好理解。本文關(guān)鍵的一句話(huà)幫你理解ytpedef的用法。

typedef常見(jiàn)應(yīng)用場(chǎng)景

在這之前,我們來(lái)看看一些常見(jiàn)應(yīng)用場(chǎng)景。

為特定含義的類(lèi)型取別名

例如,假設(shè)速度是整型值:

typedefintSpeedType;

那么你就可以像下面這樣使用了:

#include
typedefintSpeedType;
intmain(void)
{
SpeedTypes=10;
printf("speedis%dm/s",s);
return0;
}

在main函數(shù)中,你可以直接使用SpeedType作為一種類(lèi)型來(lái)定義變量了。有人可能問(wèn)了,為什么要這樣,直接使用int不是更好嗎?那么如果你的代碼中很多地方都用到了這個(gè),但是突然有一天不再使用int,而是使用long呢?是不是直接修改typedef部分就可以了?(當(dāng)然打印的地方也需要變,可自定義打印函數(shù)),另外一方面,通過(guò)SpeedType這個(gè)名字就可以非常直接的讀懂變量的含義。

事實(shí)上,size_t,socklen_t等類(lèi)型都是類(lèi)似的定義。

說(shuō)到typedef,就需要提一下define了,define只是一個(gè)字符串簡(jiǎn)單替換。當(dāng)然下面這樣的例子你可能見(jiàn)過(guò)很多次了:

#definePIONTERint*
PIONTERa,b;//等同于int*a,b;
typedefint*POINTER1
POINTER1c,d;//等同于int*c;int*d;

為結(jié)構(gòu)體取別名

這個(gè)也比較常見(jiàn),不過(guò)有的人認(rèn)為,為結(jié)構(gòu)體取別名并不是一個(gè)明智的選擇,因?yàn)樗谑褂玫臅r(shí)候不能直觀看到它是結(jié)構(gòu)體類(lèi)型了。

structinfo
{
charname[128];
intlength;
};

那么你在聲明變量的時(shí)候,需要帶上struct,即像下面這樣使用:

structinfovar;

但是如果你用typedef取個(gè)別名呢?

typedefstructinfo
{
charname[128];
intlength;
}Info;

你就可以像下面這樣使用了:

Infovar;

聲明函數(shù)指針類(lèi)型

前面的都很好理解,那么來(lái)看看函數(shù)指針:

typedefvoid*(*Fun)(int,int);

這里將返回類(lèi)型為void *,入?yún)閕nt的函數(shù)類(lèi)型命名為Fun,那么在其他地方,就可以像下面這樣使用啦:

//來(lái)源:公眾號(hào)【編程珠璣】,博客地址:https://www.yanbinghu.com
#include
typedefvoid*(*Fun)(int,int);
void*test(inta,intb)
{
printf("%d,%d
",a,b);
//dosomething
returnNULL;
}
intmain(void)
{
Funmyfun=test;//這里的Fun已經(jīng)是一種類(lèi)型名了
myfun(1,1);
return0;
}

是不是發(fā)現(xiàn)跟前面的不一樣了呢?類(lèi)型別名的位置飄忽不定,有的在最后,有的在中間。

當(dāng)然typedef的場(chǎng)景并不限于以上幾種,這里僅僅是舉例。

一句話(huà)理解

我不知道你是不是已經(jīng)完全理解了前面的場(chǎng)景,無(wú)論理解與否,這句話(huà)都能很好的幫助你再次理解前面的內(nèi)容:

typedef中聲明的類(lèi)型在變量名的位置出現(xiàn)。

什么意思呢,我們回頭來(lái)看。我們是怎么聲明int類(lèi)型變量的?

intTypename;

像上面這樣,對(duì)不對(duì)?那么用typedef之后呢?把變量名的位置替換為別名:

typedefintTypename;

好了,你現(xiàn)在已經(jīng)把為int取別名為T(mén)ypename。

再來(lái)看結(jié)構(gòu)體,聲明普通結(jié)構(gòu)體變量:

structinfo
{
charname[128];
intlength;
};
structinfoTypename;

用typedef取別名,別名取代變量名的位置:

structinfo
{
charname[128];
intlength;
};
typedefstructinfoTypename;

好了,你現(xiàn)在已經(jīng)為struct info取別名為T(mén)ypename。
當(dāng)然這可能我們平常通常使用下面這種寫(xiě)法:

typedefstructinfo
{
charname[128];
intlength;
}Typename;

再來(lái)看函數(shù)指針類(lèi)型,我們平常是如何聲明函數(shù)的?

void*function(int,int);

那么使用typedef取別名呢?用別名取代函數(shù)名的位置即可:

void*(*Fun)(int,int);

不過(guò)這里需要注意用括號(hào)將這個(gè)別名括起來(lái),并在前面加*號(hào)。

總結(jié)

至此,相信你對(duì)typedef的使用有了更清晰的認(rèn)識(shí)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • typedef
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    9903
  • main
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    6638
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    告別手忙腳亂!蜀瑞創(chuàng)新語(yǔ)音鍵順控,一句話(huà)搞定開(kāi)關(guān)柜

    語(yǔ)音鍵順控,不是簡(jiǎn)單加個(gè)語(yǔ)音功能,而是可視化 + 語(yǔ)音 + 五防 + 自動(dòng)順控的體化升級(jí) —— 讓開(kāi)關(guān)柜 “聽(tīng)得懂、做得準(zhǔn)、看得見(jiàn)”,把電力運(yùn)維從 “繁瑣人工” 推向 “智能語(yǔ)音” 時(shí)代。一句話(huà),搞定倒閘;
    的頭像 發(fā)表于 04-24 09:16 ?273次閱讀
    告別手忙腳亂!蜀瑞創(chuàng)新語(yǔ)音<b class='flag-5'>一</b>鍵順控,<b class='flag-5'>一句話(huà)</b>搞定開(kāi)關(guān)柜

    一句話(huà)讓大模型控制硬件:手把手教你給 EmbedClaw 添加自己的 Tool!

    很多人第次看到EmbedClaw會(huì)有種錯(cuò)覺(jué):然而事實(shí)是:不能直接操作,但可以通過(guò)Tool去操作。這也是EmbedClaw很有意思的點(diǎn)。它不是把大模型硬塞進(jìn)ESP32里當(dāng)聊天機(jī)器人,而是把LLM
    的頭像 發(fā)表于 04-01 18:32 ?142次閱讀
    <b class='flag-5'>一句話(huà)</b>讓大模型控制硬件:手把手教你給 EmbedClaw 添加自己的 Tool!

    一句話(huà),描述創(chuàng)芯工坊是家什么樣的公司?

    創(chuàng)芯工坊科技(深圳)有限公司是家專(zhuān)注于集成電路與產(chǎn)業(yè)互聯(lián)網(wǎng)融合創(chuàng)新的科技型企業(yè),成立于 2018年7月25日 ,總部位于 深圳市羅湖區(qū) 。公司以“ 創(chuàng)新驅(qū)動(dòng)產(chǎn)業(yè),融合創(chuàng)造價(jià)值 ”為核心理念,致力于
    發(fā)表于 03-30 18:23

    ?ACUPS vs DCUPS 大白話(huà)解析|UPS 姐姐干貨嘮

    運(yùn)行。 ?一句話(huà)總結(jié):交流設(shè)備的專(zhuān)屬 “守門(mén)員”,日常使用最廣泛! ?DCUPS|低調(diào)能干的供電 “新秀”?全稱(chēng):直流不間斷電源 ?核心特點(diǎn):輸入可交流 / 直流,輸出固定為直流電 ?適配
    發(fā)表于 03-28 15:22

    逆天了!把OpenClaw裝入ESP32-S3上是種什么體驗(yàn)

    最近小龍蝦OpenClaw實(shí)在是太火了,相信你或多或少都刷到過(guò)。如果一句話(huà)解釋什么是OpenClaw:款可以運(yùn)行在任何系統(tǒng)上的A
    的頭像 發(fā)表于 03-22 10:05 ?776次閱讀
    逆天了!把OpenClaw裝入ESP32-S3上是<b class='flag-5'>一</b>種什么體驗(yàn)

    小藝開(kāi)放平臺(tái)鴻蒙智能體開(kāi)發(fā)智能體配置-基礎(chǔ)信息

    創(chuàng)建智能體后,開(kāi)發(fā)者可以進(jìn)入智能體配置頁(yè)面對(duì)智能體基礎(chǔ)信息進(jìn)行編輯。支持編輯智能體圖標(biāo)、智能體名稱(chēng)、智能體一句話(huà)描述、智能體支持的設(shè)備和系統(tǒng)、創(chuàng)建者昵稱(chēng)、智能體分類(lèi)、智能體別名、AgentCard
    發(fā)表于 02-02 16:47

    EMMI-InGaAs 與 OBIRCH:分鐘教你看懂兩款失效定位設(shè)備原理與應(yīng)用

    一句話(huà)區(qū)別總結(jié) EMMI 看光 → 漏電、擊穿這類(lèi)“會(huì)發(fā)光的異常” OBIRCH 看熱 → 金屬短路、高阻這類(lèi)“無(wú)光但致命的問(wèn)題”
    的頭像 發(fā)表于 12-05 16:21 ?1366次閱讀
    EMMI-InGaAs 與 OBIRCH:<b class='flag-5'>一</b>分鐘教你看懂兩款失效定位設(shè)備原理與應(yīng)用

    一句話(huà),多個(gè)命令同時(shí)執(zhí)行,AI語(yǔ)音模組也能多任務(wù)處理?

    、 Ai-WV02-32S ? 將語(yǔ)音識(shí)別、喚醒、語(yǔ)義理解等核心功能, 濃縮在顆小小的模組中。 安信可AI語(yǔ)音模組支持 MCP 協(xié)議(Multi Command Processing,多命令并行處理) ,讓語(yǔ)音交互從“單線(xiàn)程”進(jìn)化為真正的“多任務(wù)協(xié)同”!
    的頭像 發(fā)表于 10-31 14:45 ?678次閱讀
    <b class='flag-5'>一句話(huà)</b>,多個(gè)命令同時(shí)執(zhí)行,AI語(yǔ)音模組也能多任務(wù)處理?

    真正免費(fèi)的AI生成PPT工具盤(pán)點(diǎn):告別收費(fèi)陷阱

    的戰(zhàn)斗機(jī)",其他9款工具也各有絕活,保證讓你告別收費(fèi)陷阱,輕松做出專(zhuān)業(yè)級(jí)PPT! 、AiPPT:一句話(huà)生成PPT的"時(shí)間管理大師" 一句話(huà)生成,分鐘出片 作為北京餅干科技旗下的"A
    的頭像 發(fā)表于 10-30 15:43 ?6935次閱讀
    真正免費(fèi)的AI生成PPT工具盤(pán)點(diǎn):告別收費(fèi)陷阱

    智多晶SA5T-200 FPGA開(kāi)發(fā)板重磅發(fā)布

    在科技飛速發(fā)展的今天,硬件與軟件的融合正不斷重塑我們的世界。而在芯片領(lǐng)域,流傳著這樣一句話(huà):“軟件定義世界,F(xiàn)PGA定義未來(lái)”。
    的頭像 發(fā)表于 10-11 11:45 ?1158次閱讀

    一句話(huà)了解21種計(jì)算模式

    、智能化趨勢(shì)、安全與可持續(xù)四個(gè)維度,梳理了21種計(jì)算模式,并盡量用通俗易懂的一句話(huà)向您介紹每種模式的定義。架構(gòu)與資源維度并行計(jì)算:把大任務(wù)拆成多個(gè)小任務(wù),讓多顆處理器
    的頭像 發(fā)表于 08-06 14:31 ?862次閱讀
    <b class='flag-5'>一句話(huà)</b>了解21種計(jì)算模式

    2025 AI主戰(zhàn)場(chǎng),連鎖門(mén)店“變形記”

    讓業(yè)務(wù)駕馭AI,當(dāng)大模型的價(jià)值通過(guò)“取漢堡更快”“一句話(huà)點(diǎn)咖啡”來(lái)實(shí)現(xiàn),這場(chǎng)技術(shù)變革才算真正落地
    的頭像 發(fā)表于 07-24 12:41 ?1397次閱讀
    2025 AI主戰(zhàn)場(chǎng),連鎖門(mén)店“變形記”

    一句話(huà)秒出PPT“的榮耀YOYO,AI生產(chǎn)力有多強(qiáng)?

    釋放AI生產(chǎn)力,榮耀讓智能體告別發(fā)布會(huì)炫技
    的頭像 發(fā)表于 07-14 14:15 ?2825次閱讀
    “<b class='flag-5'>一句話(huà)</b>秒出PPT“的榮耀YOYO,AI生產(chǎn)力有多強(qiáng)?

    CYW55513是否支持linux4.4?

    開(kāi)始支持55513的驅(qū)動(dòng)版本是Infineon Linux Wi-Fi驅(qū)動(dòng)程序(FMAC)(v2024_1115) 但在發(fā)行說(shuō)明中有一句話(huà) 從內(nèi)核版本 4.14 到內(nèi)核版本 6.1.97 的反向移植支持 說(shuō)明backport是不支持4.4的,我想確認(rèn)下是否有驅(qū)動(dòng)能支持l
    發(fā)表于 06-05 07:26

    使用FX3 SDK發(fā)布源代碼是否違反許可?

    使用 FX3 SDK 發(fā)布源代碼是否違反許可? CYPRESS?EZ-USB? FX3 SDK1.3licenselicense.txt ”4. 專(zhuān)有權(quán)利; 到“您同意對(duì)源代碼保密?!?那里寫(xiě)著一句話(huà),所以我想問(wèn)下以確定。
    發(fā)表于 05-08 06:54