共用体与结构体的区别

共用体:

使用union 关键字

共用体内存长度是内部最长的数据类型的长度。

共用体的地址和内部各成员变量的地址都是同一个地址

结构体大小:

结构体内部的成员,大小等于最后一个成员的偏移量+最后一个成员大小+末尾的填充字节数。

结构体的偏移量:某一个成员的实际地址和结构体首地址之间的距离。

结构体字节对齐:每个成员相对于结构体首地址的偏移量都得是当前成员所占内存大小的整数倍,如果不是会在成员前面加填充字节。结构体的大小是内部最宽的成员的整数倍。

共用体

#include

//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语言共用体和与结构体的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

c语言结构共用体的作用,浅谈C语言共用体和与结构体的区别相关推荐

  1. c语言弱符号与函数指针,浅谈C语言中的强符号、弱符号、强引用和弱引用【转】...

    首先我表示很悲剧,在看<程序员的自我修养--链接.装载与库>之前我竟不知道C有强符号.弱符号.强引用和弱引用.在看到3.5.5节弱符号和强符号时,我感觉有些困惑,所以写下此篇,希望能和同样 ...

  2. c程序语言的常量变量和标识符,浅谈C语言中的常量与变量.pdf

    课程教育研究 CourseEducationResearch 2014年4月 上旬刊 教学.信息 浅谈C语言中的常量与变量 刘 星 (青 岛工学院商学院 山东 青岛 266300) [摘要]在任何一种 ...

  3. c语言程序与设计教学设计,浅谈C语言程序设计课程的教学设计

    C语言程序设计课程是一门计算机专业程序设计语言类的基础课程,如何将枯燥复杂的语法.单调抽象的函数让学生们有兴趣学习.研究.文章通过在C语言程序设计这门课教学的设计,浅谈了自己的见解和方法. 大多数计算 ...

  4. c语言中的字符串如何拆分,浅谈C语言的字符串拆分

    字符串拆分应用在很多方面,尤其是针对格式化数据的处理,可是不同程序语言对于字符串拆分却有着很大的区别(易用性,效率等方面考虑). 对于格式化数据的处理首先想到的利器就是awk了,它尤其胜任文本的处理, ...

  5. c语言如何将浮点数转换为字节,浅谈C语言整型与浮点型转换

    本篇博客将阐述.讨论的内容: ●int int的范围根据计算机的不同存在16位或32位的差异,以16位举例,最大值为1111 1111 1111 1111,也就是65535,如果出现65536,就会溢 ...

  6. 小学语文教学计算机的作用,浅谈多媒体信息技术在小学语文教学中的作用

    浅谈多媒体信息技术在小学语文教学中的作用 时间: 2013-10-29 栏目: 浅谈多媒体信息技术在小学语文教学中的作用 浅谈多媒体信息技术在小学语文教学中的作用 贵州省平塘县油岜小学 冷华超 [摘 ...

  7. c语言乐学编程作业答案,信息乐学|浅谈C语言

    原标题:信息乐学|浅谈C语言 一大波C语言的干货正在靠近 刚刚成为大学生的小萌新们,经过两个多月的学习,你们对大学的多彩生活是否还满意?全新的学习方式你们是否还适应?然而,新鲜劲还没过,第一件让你们头 ...

  8. JDK与JRE的关系和path的作用浅谈

    JDK与JRE的关系和path的作用浅谈 摘要:JDK与JRE的关系以及path的配置对于初学者是要明白的问题,那么具体的JDK与JRE的关系是什么呢?那么本文讲给你简单介绍. 标签:JDK与JRE关 ...

  9. c语言 去掉双引号_技术分享|浅谈C语言陷阱和缺陷

    良好的软件架构.清晰的代码结构.掌握硬件.深入理解C语言是防错的要点,人的思维和经验积累对软件可靠性有很大影响.C语言诡异且有种种陷阱和缺陷,需要程序员多年历练才能达到较为完善的地步.软件的质量是由程 ...

最新文章

  1. Spring中的Controller ,Service,Dao是不是线程安全的?
  2. 差点被人类消灭的疾病,科学家说是苏联让它重新肆虐全球?
  3. 学习笔记--Spark
  4. IBM:破解密码并不是量子计算机主要用途,不必为此担心
  5. Android OkHttp的使用心得
  6. python word2vector (三)
  7. [*leetcode 5] Longest Palindromic Substring
  8. 【scala】集和映射
  9. 理解WebKit和Chromium: Canvas2D及其实现
  10. 2.JAVA基础——数据类型、变量及运算符
  11. Ubuntu下解压缩文件
  12. 编程总结一 查找整数
  13. 计算机网络详细笔记【湖科大教书匠,内含B站链接】
  14. 如何用python获取沪深300历年成分股的行情数据
  15. Arduino通过串口透传ESP 13板与java程序交互
  16. WebRTC 非常适用于智能家庭安防摄像头
  17. python-matplotlib库绘制饼形图专题(从一般饼状图到内嵌环形图)
  18. 石墨烯和碳纤维的联系与区别
  19. 面试官:说一下Redis和MongoDB的区别?
  20. html设置背景颜色无效,设置背景颜色无效果(第二种实现方式 背景颜色设置不起作用)...

热门文章

  1. Bailian2722 学分绩点【序列处理】
  2. B00002 C语言位字段实例
  3. caffe 源码阅读与运行流程
  4. C Tricks(六) —— 数组去重的实现
  5. gcc/g++ 参数总结
  6. Hive 操作(一)
  7. C++基础——非类型模板参数
  8. python变量定义 关键字_(四)Robot Framework 基础关键字
  9. python代码-你见过哪些令你瞠目结舌的 Python 代码技巧?
  10. 零基础学python大概要多久-怎么自学python,大概要多久?