共用体

共用体 内存大小就是其中数据类型内存最大的内存大小。

#include <stdio.h>

int main(int argc, const char * argv[]) {

union uu     {

int a;

double b;

char c;

}pp;

printf("%d",sizeof(pp));    //8

return 0;

}

时间: 2024-10-07 19:07:12

共用体的相关文章

C语言:结构体,共用体

结构体: 一个变量,存储不同类型的数据项共用体:一个变量,存储不同类型的数据项,相同的内存位置,存储不同的数据类型 #include <stdio.h> #include <string.h> struct Books { char title[50]; char author[20]; }; union Data { char title[50]; char author[20]; }; main() { union Data _u; struct Books _s; print

C语言之共用体

1:共用体(union)类型的定义 union myunion { int a; char b; }; int main(void) { myunion u1; u1.a = 23; printf("u1.b = %d\n", u1.b);     //23 printf("&u1.a = %p \n",&(u1.a));  //&u1.a = 0xbfbe5c04 printf("&u1.b = %p \n",&

[C++] Union共用体示例讲解

/* * UnionLab.cpp * * Created on: Nov 29, 2014 * Author: sodino */ #include <iostream> using namespace std; /** * "共用体"是一种特殊的类,在一个"共用体"内可以定义多种不同的数据类型. * 一个被声明为该"共用体"类型的变量中,允许装入该"共用体"所定义的任何一种类型的数据, * 这些不同类型的数据共

结构体、共用体、枚举____笔记

-------------------讲在前面 老规矩,本人小菜. 互联网是发达的,神奇的.其中,有开源与不开源一说,我不知道我懂多少. 我在网上取我所需,但是有时候会标注来源,有时候没标注.如果某大神觉得被冒犯了,请联系删除. 我会有复制粘贴,但我并不认为拿过来就是我的东西,只是纯粹的欣赏,学习. 开博客,主要是觉得对自己学习有益.我会记录自己觉得有意义的东东. 如果有人见到本文章,是我的荣幸,希望对你有所帮助. 当然,我不保证绝对正确,若你发现不对的地方,可以评论或者联系,指正批评,大家相互

C语言union(联合体、共用体)及应用

C语言union(联合体.共用体)及应用 在结构体(变量)中,结构的各成员顺序排列存储,每个成员都有自己独立的存储位置.联合(union)变量的所有成员共享同片存储区/内存.因此联合变量每个时刻里只能保存它的某一个成员的值. 联合变量也可以在定义时直接初始化,但这个初始化只能对第一个成员进行.例如下面的描述定义了一个联合变量,并进行了初始化. 1 uunion data 2 { 3 char n; 4 float f; 5 }; 6 union data u1 = {3}; //只有u1.n被初

共用体(union)

在C语言中,当不同数据类型的数据共同占有使用一块内存空间时,这个数据构造类型叫做共用体,也叫联合体.共用体用的地方比较少,使用形式与结构体类似,但是内存使用方式不同. 1--- 定义 union 共用体类型名 { 成员表列: }变量名1:union 共用体类型名 变量名2: 2--- 成员共用同一个存储区域,共用体类型变量是以最后一次

编程题:引用共用体变量的成员

编程题:引用共用体变量的成员 #include<stdio.h> void main() {  union temp {char a; int b; }t; t.a=66;t.b=266; /*266=256+10即266的二进制为100001010,所以高字节放低字节放10*/ printf("%x:%d,%x:%d\n",&t.a,t.a,&t.b,t.b); } 分析代码的算法: 运行结果: 编程题:引用共用体变量的成员,布布扣,bubuko.com

入职培训笔记记录--day9(1、指针函数与函数指针、函数指针数组 2、malloc memset 3、递归函数 4、结构体 5、共用体---》大小端 6、枚举)

1.指针函数与函数指针.函数指针数组 指针函数:返回值为指针的函数 char *fun() { char str[] = "hello world"; return str; } int main() { char *p = fun(); puts(p); return 0; } 编译时,会出现警告,返回了一个已经被释放掉的内存空间的首地址解决方法:1.static 2.char *str = "hello world"; 3.malloc 注意:使用完后要free

最最最最最最最最基础的C---构造数据类型:共用体

共用体定义:使不同的变量共占同一段内存的结构 一般形式:union 共用体名 { 成员表列 }变量表列: 共用体也是一种数据类型 共用体的引用:只能单独的一个成员变量引用 共用体特点:1.共用体变量同一段内存可以用来存放几种不同类型的成员,但是每次只能存放一种类型.也就是说每一瞬间只有一个成员起作用. 2.共用体变量中起作用的成员是最后一次存放的成员 3.共用体变量的地址和其成员的地址都是同一地址 4.不能对共用体变量名赋值:也不能在定义是初始化:

结构体,共用体和枚举类型的区别

结构体是一种构造类型,它的每一个成员都可以是一个基本的数据类型或者又是一个构造类型(结构体的嵌套使用),它的所有成员都能共存,这也是它和共用体和枚举类型的最大区别.它的简单定义如下.  struct{     char  i  ;     int   j  ;     struct add ;  } 每一个定义的变量,它们的是可以改变的,但它们的数据类型是不能改变的,共用体就是一种可以在同一存储区域变成不同数据类型的一种数据类型.它采用的是覆盖存储技术,准许不同的数据类型相互覆盖.它的简单定义如