您现在的位置是:主页 > news > 中小企业网站制作价格/东莞网络优化哪家公司好
中小企业网站制作价格/东莞网络优化哪家公司好
admin2025/5/11 2:08:43【news】
简介中小企业网站制作价格,东莞网络优化哪家公司好,广州品牌网站建设,北京网站建设91086C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。 定义共用体类型变量 基本形式格式: union 共用体名{成员表列; } 变量表列;具体有四种方式 : 1、定义共用体…
中小企业网站制作价格,东莞网络优化哪家公司好,广州品牌网站建设,北京网站建设91086C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。
定义共用体类型变量
基本形式格式:
union 共用体名{成员表列;
} 变量表列;具体有四种方式 :
1、定义共用体…
C语言共用体,又叫联合体,使用关键字union定义。共用体使用同一存储单元存放不同类型的变量。
定义共用体类型变量
基本形式格式:
union 共用体名{成员表列;
} 变量表列;
具体有四种方式 :
- 1、定义共用体的同时定义变量:
union MyData{int type;char str;
}data;
- 2、先定义共用体,后再定义变量:
union MyData{int type;char str;
};
union MyData data;
- 3、先定义共用体,再定义共用体别名,再用别名定义变量:
typedef union MyData{int type;char str;
} Data;
Data data;
- 4、匿名共用体,只使用一次
union {int type;char str;
} data;
初始化成员列表,只能初始化一个
- 1、定义共用体的同时定义变量,并进行初始化变量:
union MyData{int type;char str;
}data = {55};
- 2、先定义共用体,再定义变量,并初始化变量:
union MyData{int type;char str;
};
union MyData data = {13};
- 3、先定义共用体,再定义共用体别名,再用别名定义变量,并初始化变量:
typedef union{int type;char str;
}Data;
Data data = {88};
- 4、匿名共用体,只使用一次,初始化变量:
union{int type;char str;
}data = {9};
访问共用体变量
data.type = 22;
或
data.str = 'C';
完整例子
#include <stdio.h>
union {int type;char str;
} data;
int main(int argc,char* argv){data.type = 22;printf("type:%d\n",data.type);printf("type 大小(单位:byte):%ld\n",sizeof(data.type));data.str = 'B';printf("str:%c\n",data.str);printf("str大小(单位:byte):%ld\n",sizeof(data.str));return 0;
}
运行结果:
~/Desktop/c$ gcc main.c -o main
~/Desktop/c$ ./main
type:22
type 大小(单位:byte):4
str:B
str大小(单位:byte):1
共用体总结
- 共用体起作用的成员是最后一次赋值的成员,之前的会被取代;
- 共用体变量的地址和它各成员的地址都是同一个地址,同用一个存储单元
- 不能对共用体整体赋值
- 初始化成员列表,只能初始化一个
- 同种类型的共用体变量可以互相赋值
- 共用体也可以和指针,数组之类的搭配
谢谢阅读。