C语言完美演绎9-10

/* 范例:9-10 */

#include <stdio.h>

union /* 无自定义union类型名称的声明 */

{

int c;

char d;

}cd; /* 声明 + 定义 */

union data /* 有union类型名称声明 */

{

int a;

float d;

char b;

}; /* 只声明 */

void main(void)

{

data var1; /* 定义 */

data var2={3.1415}; /* 初始化var2.a = 3(自动转换) */

printf("var2.a = %d\n",var2.a); /* 自动转换为3 */

printf("var2.d = %f\n",var2.d); /* 非3.1415 */

printf("Size of var1 = %d\n",sizeof(var1));

var1.a=3; /* 使用 */

printf("var1.a=%d\n",var1.a); /* a=3 */

var1.b='A';

printf("var1.a=%d\n",var1.a); /* a=65(a 被覆写了) */

getchar();

}

程序执行结果:

var2.a = 3

var2.d = 0.000000

Size of var1 = 4

var1.a=3

var1.a=65

相关推荐
孬甭_6 小时前
动态内存管理
c语言
qeen876 小时前
【数据结构】二叉树基本概念及堆的C语言模拟实现
c语言·数据结构·c++·
凉、介7 小时前
C 语言类型强转引发的隐蔽内存破坏问题分析
c语言·开发语言·笔记·学习·嵌入式
mount_myj15 小时前
长长久久【C语言】
c语言
Legendary_00819 小时前
LDR6500:USB‑C DRP PD协议芯片技术详解与应用实践
c语言·开发语言
dgaf1 天前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
念恒123061 天前
进程控制---自定义Shell
linux·c语言
程序员JerrySUN1 天前
Jetson边缘嵌入式实战课程第二讲:JetPack 和 SDK Manager 是什么
c语言·开发语言·网络·udp·音视频
我不是懒洋洋1 天前
布谷鸟过滤器:比布隆过滤器更优雅的判重方案
c语言·经验分享