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

淺談C語言共用體和與結(jié)構(gòu)體的區(qū)別

 更新時間:2017年02月06日 09:44:33   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談C語言共用體和與結(jié)構(gòu)體的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

共用體與結(jié)構(gòu)體的區(qū)別

共用體:

使用union 關(guān)鍵字

共用體內(nèi)存長度是內(nèi)部最長的數(shù)據(jù)類型的長度。

共用體的地址和內(nèi)部各成員變量的地址都是同一個地址

結(jié)構(gòu)體大小:

結(jié)構(gòu)體內(nèi)部的成員,大小等于最后一個成員的偏移量+最后一個成員大小+末尾的填充字節(jié)數(shù)。

結(jié)構(gòu)體的偏移量:某一個成員的實際地址和結(jié)構(gòu)體首地址之間的距離。

結(jié)構(gòu)體字節(jié)對齊:每個成員相對于結(jié)構(gòu)體首地址的偏移量都得是當前成員所占內(nèi)存大小的整數(shù)倍,如果不是會在成員前面加填充字節(jié)。結(jié)構(gòu)體的大小是內(nèi)部最寬的成員的整數(shù)倍。

共用體

#include <stdio.h>
//gcc讓不同類型的變量共享內(nèi)存地址 ,同一時間只有一個成員有效
union data{ 
  int a;
  char b;
  int c;
};


int main(){
  union data data_1 = {1};//初始化時只填寫一個值。(同一時間只有一個成員有效)
  data_1.b = 'c';
  data_1.a = 10;//后賦值的才有效。前面的賦值被覆蓋
  //打印地址,發(fā)現(xiàn)指向同一個地址
  printf("%p\n%p\n%p\n",&data_1.a,&data_1.a,&data_1.a);
  return 0;
}

以上這篇淺談C語言共用體和與結(jié)構(gòu)體的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++交換指針實例

    C++交換指針實例

    這篇文章主要介紹了C++交換指針實例,針對C與C++交換指針的方法進行了較為詳細的對比分析,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • C++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)

    C++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)

    下面小編就為大家?guī)硪黄狢++中可以接受任意多個參數(shù)的函數(shù)定義方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • C語言詳細講解樹狀數(shù)組與線段樹

    C語言詳細講解樹狀數(shù)組與線段樹

    顧名思義,樹狀數(shù)組就是用數(shù)組來模擬樹形結(jié)構(gòu)唄。那么衍生出一個問題,為什么不直接建樹,因為樹狀數(shù)組能處理的問題就沒必要建樹。線段樹是一種二叉搜索樹,與區(qū)間樹相似,它將一個區(qū)間劃分成一些單元區(qū)間,每個單元區(qū)間對應(yīng)線段樹中的一個葉結(jié)點
    2022-04-04
  • C語言結(jié)構(gòu)體內(nèi)存對齊詳解

    C語言結(jié)構(gòu)體內(nèi)存對齊詳解

    大家好,本篇文章主要講的是C語言結(jié)構(gòu)體內(nèi)存對齊詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • VC中刪除類的兩種操作方法

    VC中刪除類的兩種操作方法

    這篇文章主要介紹了VC中刪除類的兩種操作方法,較為詳細的描述了在VC中實現(xiàn)刪除類的具體步驟,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • C語言詳細講解位運算符的使用

    C語言詳細講解位運算符的使用

    C語?既具有?級語?的特點,?具有低級語?的特性,如?持位運算就是其具體體現(xiàn)。這是因為,C語?最初是為取代匯編語?設(shè)計系統(tǒng)軟件?設(shè)計的,因此C語?必須?持位運算等匯編操作。位運算就是對字節(jié)或字內(nèi)的?進制數(shù)位進?測試、抽取、設(shè)置或移位等操作
    2022-04-04
  • 一篇文章教你3分鐘如何發(fā)布Qt程序

    一篇文章教你3分鐘如何發(fā)布Qt程序

    這篇文章主要給大家介紹了關(guān)于教你3分鐘如何發(fā)布Qt程序的相關(guān)資料,文中通過實例代碼結(jié)束的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • C語言實現(xiàn)計算樹的深度的方法

    C語言實現(xiàn)計算樹的深度的方法

    這篇文章主要介紹了C語言實現(xiàn)計算樹的深度的方法,針對數(shù)據(jù)結(jié)構(gòu)中樹進行操作的方法,在算法設(shè)計中比較常見,需要的朋友可以參考下
    2014-09-09
  • 一文詳解C++子類函數(shù)為什么不能重載父類函數(shù)

    一文詳解C++子類函數(shù)為什么不能重載父類函數(shù)

    這篇文章主要介紹了一文詳解C++子類函數(shù)為什么不能重載父類函數(shù),文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • C++表達式new與delete知識詳解

    C++表達式new與delete知識詳解

    這篇文章主要為大家詳細介紹了C++表達式new與delete知識點,學習如何動態(tài)創(chuàng)建對象,動態(tài)創(chuàng)建的對象與一般對象的區(qū)別,動態(tài)創(chuàng)建的對象的初始化以及釋放動態(tài)分配的內(nèi)存等知識點,感興趣的朋友可以參考一下
    2016-05-05

最新評論

阜新| 大同市| 会同县| 新建县| 沙湾县| 武鸣县| 广德县| 襄城县| 上饶县| 景德镇市| 邻水| 民乐县| 禹城市| 兴义市| 平安县| 石阡县| 云阳县| 威信县| 威信县| 五台县| 堆龙德庆县| 维西| 阿尔山市| 酒泉市| 高邑县| 建水县| 资源县| 杭锦旗| 西平县| 定边县| 深圳市| 建平县| 泰顺县| 西藏| 凯里市| 横山县| 台前县| 西丰县| 都江堰市| 丁青县| 莫力|