国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一句話幫你理解 typedef 的用法

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

掃碼添加小助手

加入工程師交流群

前言

C語言中typedef用來給復雜聲明定義別名非常的方便,不過有時候typedef在復雜聲明中不好理解。本文關鍵的一句話幫你理解ytpedef的用法。

typedef常見應用場景

在這之前,我們來看看一些常見應用場景。

為特定含義的類型取別名

例如,假設速度是整型值:

typedefintSpeedType;

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

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

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

事實上,size_t,socklen_t等類型都是類似的定義。

說到typedef,就需要提一下define了,define只是一個字符串簡單替換。當然下面這樣的例子你可能見過很多次了:

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

為結構體取別名

這個也比較常見,不過有的人認為,為結構體取別名并不是一個明智的選擇,因為它在使用的時候不能直觀看到它是結構體類型了。

structinfo
{
charname[128];
intlength;
};

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

structinfovar;

但是如果你用typedef取個別名呢?

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

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

Infovar;

聲明函數指針類型

前面的都很好理解,那么來看看函數指針:

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

這里將返回類型為void *,入參為int的函數類型命名為Fun,那么在其他地方,就可以像下面這樣使用啦:

//來源:公眾號【編程珠璣】,博客地址: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已經是一種類型名了
myfun(1,1);
return0;
}

是不是發現跟前面的不一樣了呢?類型別名的位置飄忽不定,有的在最后,有的在中間。

當然typedef的場景并不限于以上幾種,這里僅僅是舉例。

一句話理解

我不知道你是不是已經完全理解了前面的場景,無論理解與否,這句話都能很好的幫助你再次理解前面的內容:

typedef中聲明的類型在變量名的位置出現

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

intTypename;

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

typedefintTypename;

好了,你現在已經把為int取別名為Typename。

再來看結構體,聲明普通結構體變量:

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

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

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

好了,你現在已經為struct info取別名為Typename。
當然這可能我們平常通常使用下面這種寫法:

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

再來看函數指針類型,我們平常是如何聲明函數的?

void*function(int,int);

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

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

不過這里需要注意用括號將這個別名括起來,并在前面加*號。

總結

至此,相信你對typedef的使用有了更清晰的認識了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • typedef
    +關注

    關注

    0

    文章

    26

    瀏覽量

    9878
  • main
    +關注

    關注

    0

    文章

    38

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    小藝開放平臺鴻蒙智能體開發智能體配置-基礎信息

    創建智能體后,開發者可以進入智能體配置頁面對智能體基礎信息進行編輯。支持編輯智能體圖標、智能體名稱、智能體一句話描述、智能體支持的設備和系統、創建者昵稱、智能體分類、智能體別名、AgentCard
    發表于 02-02 16:47

    EMMI-InGaAs 與 OBIRCH:分鐘教你看懂兩款失效定位設備原理與應用

    一句話區別總結 EMMI 看光 → 漏電、擊穿這類“會發光的異常” OBIRCH 看熱 → 金屬短路、高阻這類“無光但致命的問題”
    的頭像 發表于 12-05 16:21 ?938次閱讀
    EMMI-InGaAs 與 OBIRCH:<b class='flag-5'>一</b>分鐘教你看懂兩款失效定位設備原理與應用

    一句話,多個命令同時執行,AI語音模組也能多任務處理?

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

    真正免費的AI生成PPT工具盤點:告別收費陷阱

    的戰斗機",其他9款工具也各有絕活,保證讓你告別收費陷阱,輕松做出專業級PPT! 、AiPPT:一句話生成PPT的"時間管理大師" 一句話生成,分鐘出片 作為北京餅干科技旗下的"A
    的頭像 發表于 10-30 15:43 ?6539次閱讀
    真正免費的AI生成PPT工具盤點:告別收費陷阱

    示波器問題解答干貨

    問:示波器的波形代表什么意義? 一句話概括:水平坐標代表時間,垂直坐標代表電壓(般是電壓),電壓隨時間變化的曲線就是示波器顯示的波形。 垂直坐標比較好理解,就是電壓的大小。水平坐
    的頭像 發表于 10-13 14:51 ?835次閱讀
    示波器問題解答干貨

    智多晶SA5T-200 FPGA開發板重磅發布

    在科技飛速發展的今天,硬件與軟件的融合正不斷重塑我們的世界。而在芯片領域,流傳著這樣一句話:“軟件定義世界,FPGA定義未來”。
    的頭像 發表于 10-11 11:45 ?933次閱讀

    批準L3級自動駕駛上路意味著什么?

    [首發于智駕最前沿微信公眾號]最近,工業和信息化部等八部門印發的《汽車行業穩增長工作方案(2025—2026年)》里有一句話,引起了不少人的注意,那就是“有條件批準L3級車型生產準入”。看似不經意
    的頭像 發表于 09-16 09:28 ?749次閱讀
    批準L3級自動駕駛上路意味著什么?

    一句話了解21種計算模式

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

    2025 AI主戰場,連鎖門店“變形記”

    讓業務駕馭AI,當大模型的價值通過“取漢堡更快”“一句話點咖啡”來實現,這場技術變革才算真正落地
    的頭像 發表于 07-24 12:41 ?1270次閱讀
    2025 AI主戰場,連鎖門店“變形記”

    廣州唯創電子WTK6900語音識別芯片系列:讓智能電風扇“聽懂”你的每一句話

    在智能家居蓬勃發展的今天,消費者追求的不僅是功能的自動化,更是交互的自然化與體驗的人性化。智能電風扇作為夏季必備的家電,其操控體驗直接影響著用戶的使用感受。廣州唯創電子憑借其領先的WTK6900系列語音識別解決方案,特別是WTK6900HM01語音識別模塊和WTK6900G-24SS芯片,為傳統風扇注入“聽覺”智慧,實現了無需動手、開口即控的便捷操作,開啟了
    的頭像 發表于 07-18 09:04 ?720次閱讀
    廣州唯創電子WTK6900語音識別芯片系列:讓智能電風扇“聽懂”你的每<b class='flag-5'>一句話</b>

    一句話秒出PPT“的榮耀YOYO,AI生產力有多強?

    釋放AI生產力,榮耀讓智能體告別發布會炫技
    的頭像 發表于 07-14 14:15 ?2613次閱讀
    “<b class='flag-5'>一句話</b>秒出PPT“的榮耀YOYO,AI生產力有多強?

    CYW55513是否支持linux4.4?

    開始支持55513的驅動版本是Infineon Linux Wi-Fi驅動程序(FMAC)(v2024_1115) 但在發行說明中有一句話 從內核版本 4.14 到內核版本 6.1.97 的反向移植支持 說明backport是不支持4.4的,我想確認下是否有驅動能支持l
    發表于 06-05 07:26

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

    使用 FX3 SDK 發布源代碼是否違反許可? CYPRESS?EZ-USB? FX3 SDK1.3licenselicense.txt ”4. 專有權利; 到“您同意對源代碼保密。” 那里寫著一句話,所以我想問下以確定。
    發表于 05-08 06:54

    LIBS技術是怎么在礦山現場“做分析”的?

    技術,直接在現場“當場就出結果”。 那LIBS到底是怎么做到的?今天就帶你看看它在礦山現場是怎么玩的。 一句話理解LIBS:用激光“轟”出數據 LIBS,全稱Laser-Induced Breakdown Spectroscopy(激光誘導擊穿光譜),簡單說,它是用高能激
    的頭像 發表于 04-28 15:38 ?769次閱讀
    LIBS技術是怎么在礦山現場“做分析”的?

    智能共享儲物柜語音控制解決方案:WTK6900HC聲控芯片實現"一句話存/取"

    在共享經濟蓬勃發展的背景下,共享儲物柜作為解決臨時儲物需求的智能終端,逐漸滲透至商場、機場、車站等場景。傳統儲物柜依賴按鍵或掃碼操作,交互效率較低,尤其對攜帶大件物品的用戶不夠友好。 WTK6900HC芯片離線語音識別技術,可脫離網絡實現精準指令交互,完美契合共享儲物柜對低功耗、高可靠性、隱私保護的需求。該芯片通過神經網絡算法優化,支持5米遠場喚醒,即便在嘈雜環境中也能保持95%以上的識別準確率,解決了共享場景下的噪聲干擾問題。
    的頭像 發表于 04-28 10:47 ?656次閱讀