C语言共用体教程

共用体的各个成员会占用不同的内存,互相之间没有影响,而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。

C语言共用体

语法

union unionName{

fieldType1 filed1;

fieldType2 filed2;

fieldType3 filed3;

};

参数

参数

描述

union

定义共用体使用的关键字。

unionName

共用体名。

fieldType1

共用体成员变量的类型。

filed1

共用体成员变量名。

说明

我们使用 union 定义了一个共用体 unionName,该共用体有三个字段,字段名分别为 filed1、filed2 和 filed3,它们的类型分别为 fieldType1、fieldType2 和 fieldType3。

注意

该共用体的三个字段是相互影响的,修改其中任何一个字段的值,都会影响其他字段的值。

C语言访问共用体成员

语法

unionName.fileld;

参数

参数

描述

unionName

共用体名。

fileld

需要访问的成员。

说明

如果是共用体,要访问其成员,那么与共用体一样,使用 .。

案例

C语言共用体

C 语言共用体定义与使用

#include

union UnionName{

int a;

float b;

char c;

};

void main(){

printf("嗨客网(www.haicoder.net)\n\n");

union UnionName union1 = {100, 200, 79};

printf("Union a = %d, b = %f, c = %d\n", union1.a, union1.b, union1.c);

printf("\n");

return 0;

}

程序运行后,控制台输出如下图所示:

我们首先,定义了一个共用体 UnionName,该共用体有三个成员,即一个

接着,我们定义了一个共用体类型变量 union1 并初始化,最后,我们使用

因此,共用体的成员不可以全部一起使用,只能单独使用其中某一个字段。

C语言共用体

C 语言共用体定义与使用

#include

union UnionName{

int a;

float b;

char c;

};

void main(){

printf("嗨客网(www.haicoder.net)\n\n");

union UnionName union1;

union1.a = 100;

printf("Union a = %d, b = %.2f, c = %d\n", union1.a, union1.b, union1.c);

union1.b = 200;

printf("Union a = %d, b = %.2f, c = %d\n", union1.a, union1.b, union1.c);

union1.c = 97;

printf("Union a = %d, b = %.2f, c = %d\n", union1.a, union1.b, union1.c);

printf("\n");

return 0;

}

程序运行后,控制台输出如下图所示:

这次,我们可以看到,我们单独赋值的共用体的字段的值,都是正确的,但同时,我们给一个字段赋值时,会影响到另一个字段的值。

第一次,我们给 a 字段赋值,此时,我们打印出的 a 字段的值是正确的,此时的 b 字段和 c 字段的值都是随机的。

接着,我们给 b 字段赋值,此时 b 字段的值是正确的,但 a 字段的值和 c 字段的值都是随机的,最后,我们给 c 字段赋值,此时 c 字段的值是正确的,但 a 字段的值和 b 字段的值都是随机的。

C语言共用体总结

在 C 语言 中,共用体可以存放任意数据类型的组合,同时,共用体或者叫联合体,也可以用来存放任意数据类型的集合。

共用体的各个成员会占用不同的内存,互相之间没有影响,而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。

联合体c语言作用,C语言共用体-C语言union-什么是C语言中的联合体-嗨客网相关推荐

  1. C 语言编程 — 高级数据类型 — 共用体

    目录 文章目录 目录 前文列表 共用体 定义共用体 访问共用体成员 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本 ...

  2. 【c语言基础必备】共用体union

    共用体是C 语言的另外一种构造类型,与前面介绍的结构体类似.共用体也由基本数据结构组合而成,但是共用体和结构体却有本质区别,因为结构体中的每个成员都占用存储单元,所以结构体所占用的内存大小为所有成员各 ...

  3. c语言注释的作用文百,C语言注释-C语言行注释-C语言注释块注释-嗨客网

    C语言注释教程 用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性.同时,注释也是一个程序员必须要具有的良好编程习惯.我们应该首先将自己的思想通过注释先整理出来,再用代码去体现. 在 C语言注 ...

  4. c语言中return语句例子,C语言 return 语句-嗨客网

    C语言return语句教程 在 如果 return 语句使用在普通的 C语言return语句详解 语法 void fun(){ //do something return; } 说明 使用 retur ...

  5. c语言文件打开方式字符串,C语言打开文件-C语言打开文件的方式-C语言以只读方式打开文件-C语言以读写方式打开文件-嗨客网...

    C语言打开文件教程 在 在 C 语言中,打开文件使用 fopen C语言fopen函数详解 语法 FILE *fopen(char *filename, char *mode); 参数 参数 描述 f ...

  6. 什么叫c语言函数递归,什么是递归-C语言函数递归-嗨客网

    C语言函数递归教程 函数递归就是一个 C语言函数递归条件 执行一个函数时,就创建一个新的受保护的独立空间(新函数栈). 函数的局部 递归必须向退出递归的条件逼近,否则就是无限递归了. 当一个函数执行完 ...

  7. c语言while嵌套循环语句,C语言 while 循环嵌套-嗨客网

    C语言while循环嵌套教程 C语言while循环嵌套详解 语法 while (cond1) { // do something while (cond2) { // do something whi ...

  8. c语言字母的范围,C语言字符-C语言char-C语言字符取值范围-嗨客网

    C语言字符教程 '' 包围. C语言字符定义详解 语法 char varname = value; 参数 参数 描述 char 定义字符类型变量使用的类型. varname 变量名. value 可选 ...

  9. 在python中的转义字符是什么_Python转义字符-Python转义字符表-Python转义字符的作用-在Python中如何输出转义字符-嗨客网...

    Python转义字符教程 在编程中有一些字符是打不出来的,比如换行,提示音,下一个制表位等等,于是程序语言的开发者就设计了转义序列(escape sequence)这种东西用来表达这些字符. 所谓转义 ...

最新文章

  1. python中的raw string的使用
  2. 浪度九州城首页到内容页
  3. python【力扣LeetCode算法题库】55-跳跃游戏
  4. 关于IE某些原因导致下拉列表弹出阻止窗口的解决办法
  5. ActiveMQ –经纪人网络解释–第3部分
  6. 实现Parcelable接口
  7. 为何要使用docker
  8. 【华为云技术分享】深入浅出Sqoop之迁移过程源码分析
  9. python 用户登录判断
  10. 美媒:中国可能引领“物联网”的进步
  11. 2022-2028全球民宿行业调研及趋势分析报告
  12. 海康威视流媒体服务器配置心得
  13. 将自己的图片做成cityscape格式(自用)
  14. 【MOS】RAC 环境中 gc block lost 和私网通信性能问题的诊断 (文档 ID 1674865.1)
  15. 读书的作用--引用《儒道至圣》小说章节
  16. 6个小故事:让你变身营销超人!
  17. Python个性化定制二维码之 qrcode
  18. 有一种神奇的性格叫——INTJ
  19. 物理综合 | congestion 报告解读
  20. 30岁之后想转行,可行吗?这20条建议让你少走弯路!

热门文章

  1. 怎么选合适的运动耳机、运动耳机最新推荐攻略
  2. 深入理解python装饰器
  3. 完结!《沉浸式线性代数》完整版正式发布,全交互式体验
  4. RSTP协议原理与配置整——RSTP对STP的改进
  5. [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元测试(下)
  6. 我看 Alexa 调整网站排名统计方式
  7. Error from server (Forbidden): Forbidden (user=system:anonymous...)
  8. Hibernate 之强大的HQL查询
  9. python to go,Python 开发者在迁移到 Go(lang) 时需要知道哪些事?
  10. Mac新手教程——修改苹果Mac电脑窗口上按钮与菜单颜色