最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言使用四種方法初始化結(jié)構(gòu)體

 更新時間:2021年06月24日 14:37:18   作者:ericbars  
這篇文章說明了什么是結(jié)構(gòu)體,介紹了結(jié)構(gòu)體的概念和使用優(yōu)點,在C語言中如何使用和初始化結(jié)構(gòu)體方法,通過詳細(xì)的代碼展開進(jìn)行說明,希望該篇文章對你有所幫助

什么是結(jié)構(gòu)體

在實際問題中,一組數(shù)據(jù)往往有很多種不同的數(shù)據(jù)類型。例如,登記學(xué)生的信息,可能需要用到 char型的姓名,int型或 char型的學(xué)號,int型的年齡,char型的性別,float型的成績。又例如,對于記錄一本書,需要 char型的書名,char型的作者名,float型的價格。在這些情況下,使用簡單的基本數(shù)據(jù)類型甚至是數(shù)組都是很困難的。而結(jié)構(gòu)體(類似Pascal中的“記錄”),則可以有效的解決這個問題。結(jié)構(gòu)體本質(zhì)上還是一種數(shù)據(jù)類型,但它可以包括若干個“成員”,每個成員的類型可以相同也可以不同,也可以是基本數(shù)據(jù)類型或者又是一個構(gòu)造類型。

結(jié)構(gòu)體的優(yōu)點

結(jié)構(gòu)體的優(yōu)點:結(jié)構(gòu)體不僅可以記錄不同類型的數(shù)據(jù),而且使得數(shù)據(jù)結(jié)構(gòu)是“高內(nèi)聚,低耦合”的,更利于程序的閱讀理解和移植,而且結(jié)構(gòu)體的存儲方式可以提高CPU對內(nèi)存的訪問速度。 

定義

struct InitMember
{
    int first;
    double second;
    char* third;
    float four;
};

方法一:定義時賦值

struct InitMember test = {-10,3.141590,"method one",0.25};

需要注意對應(yīng)的順序,不能錯位。

方法二:定義后逐個賦值

struct InitMember test;

test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25;

方法三:定義時亂序賦值(C風(fēng)格)

這種方法類似于第一種方法和第二種方法的結(jié)合體,既能初始化時賦值,也可以不考慮順序;

struct InitMember test = {
    .second = 3.141590,
    .third = "method three",
    .first = -10,
    .four = 0.25
};

這種方法在Linux內(nèi)核(kernel)中經(jīng)常使用,在音視頻編解碼庫FFmpeg中也大量頻繁使用,還是很不錯的一種方式。

方法四:定義時亂序賦值(C++風(fēng)格)

這種方法和前一種類似,網(wǎng)上稱之為C++風(fēng)格,類似于key-value鍵值對的方式,同樣不考慮順序。

struct InitMember test = {
    second:3.141590,
    third:"method three",
    first:-10,
    four:0.25
};

到此這篇關(guān)于C語言使用四種方法初始化結(jié)構(gòu)體的文章就介紹到這了,更多相關(guān)C語言初始化結(jié)構(gòu)體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Qt實現(xiàn)離線瓦片地圖下載器

    基于Qt實現(xiàn)離線瓦片地圖下載器

    這篇文章主要介紹了如何通過Qt實現(xiàn)離線瓦片地圖下載器,文中的示例代碼對我們學(xué)習(xí)或工作有一定的幫助,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-01-01
  • Qt中QStackedWidget控件的實現(xiàn)

    Qt中QStackedWidget控件的實現(xiàn)

    QStackedWidget是Qt框架中一個非常有用的控件,它允許你堆疊多個窗口部件,本文主要介紹了Qt中QStackedWidget控件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解

    C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解

    這篇文章主要為大家介紹了C++的靜態(tài)成員變量和靜態(tài)成員函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C++實現(xiàn)LeetCode(111.二叉樹的最小深度)

    C++實現(xiàn)LeetCode(111.二叉樹的最小深度)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(111.二叉樹的最小深度),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解

    C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解

    這篇文章主要介紹了C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字,默認(rèn)情況下結(jié)構(gòu)的所有成員均是公有的,而類的所有成員是私有的,需要的朋友可以參考下
    2016-01-01
  • C語言中const和指針的秘密你知道嗎

    C語言中const和指針的秘密你知道嗎

    這篇文章主要為大家詳細(xì)介紹了C語言中const和指針的秘密,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++?OpenGL實現(xiàn)球形的繪制

    C++?OpenGL實現(xiàn)球形的繪制

    這篇文章主要主要為大家詳細(xì)介紹了如何利用C++和OpenGL實現(xiàn)球形的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動手嘗試一下
    2022-07-07
  • C++發(fā)郵件簡單實例詳解

    C++發(fā)郵件簡單實例詳解

    這篇文章主要為大家詳細(xì)介紹了C++發(fā)郵件的簡單實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C語言中 int main(int argc,char *argv[])的兩個參數(shù)詳解

    C語言中 int main(int argc,char *argv[])的兩個參數(shù)詳解

    這篇文章主要介紹了C語言中 int main(int argc,char *argv[])的兩個參數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 一文詳解C++關(guān)鍵詞auto的用法

    一文詳解C++關(guān)鍵詞auto的用法

    在早期C/C++中auto的含義是:使用auto修飾的變量,是具有自動存儲器的局部變量,但遺憾的是一直沒有人去使用它,在 C++11中,auto不再是一個存儲類型指示符,而是作為一個新的類型指示符來指示編譯器,本文將給大家詳細(xì)的介紹一下C++關(guān)鍵詞auto的用法,需要的朋友可以參考下
    2024-02-02

最新評論

唐山市| 龙门县| 竹溪县| 六枝特区| 巩义市| 灵川县| 巴彦县| 安陆市| 广昌县| 鄢陵县| 满城县| 天气| 泾源县| 隆昌县| 舟曲县| 台安县| 堆龙德庆县| 兴仁县| 崇明县| 海兴县| 克东县| 栾川县| 靖江市| 孟连| 年辖:市辖区| 伊吾县| 鲜城| 涞源县| 浦城县| 通化市| 滨海县| 徐水县| 平凉市| 昭通市| 铜鼓县| 黔南| 石渠县| 明水县| 台东市| 息烽县| 白山市|