国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

淺談C語言共用體和與結構體的區別

2020-01-26 14:15:38
字體:
來源:轉載
供稿:網友

共用體與結構體的區別

共用體:

使用union 關鍵字

共用體內存長度是內部最長的數據類型的長度。

共用體的地址和內部各成員變量的地址都是同一個地址

結構體大小:

結構體內部的成員,大小等于最后一個成員的偏移量+最后一個成員大小+末尾的填充字節數。

結構體的偏移量:某一個成員的實際地址和結構體首地址之間的距離。

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

共用體

#include <stdio.h>//gcc讓不同類型的變量共享內存地址 ,同一時間只有一個成員有效union data{   int a;  char b;  int c;};int main(){  union data data_1 = {1};//初始化時只填寫一個值。(同一時間只有一個成員有效)  data_1.b = 'c';  data_1.a = 10;//后賦值的才有效。前面的賦值被覆蓋  //打印地址,發現指向同一個地址  printf("%p/n%p/n%p/n",&data_1.a,&data_1.a,&data_1.a);  return 0;}

以上這篇淺談C語言共用體和與結構體的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 山东| 汕头市| 临西县| 贡嘎县| 漯河市| 陈巴尔虎旗| 白城市| 昭通市| 大埔区| 潞西市| 西贡区| 金阳县| 驻马店市| 双辽市| 和顺县| 琼中| 渑池县| 马龙县| 伊春市| 长武县| 衡水市| 保康县| 咸宁市| 城固县| 特克斯县| 双鸭山市| 红原县| 舒城县| 平和县| 临武县| 黄平县| 汕尾市| 石城县| 新余市| 林口县| 湘潭县| 富民县| 叙永县| 南木林县| 乌拉特中旗| 湖北省|