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

相关推荐
Herbert_hwt3 小时前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法
WWJA王文举15 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
qq_4480111617 小时前
C语言中的动态内存分配
c语言·开发语言·php
动词ing18 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
小雨笙笙19 小时前
C语言:变量三属性——存储类型
c语言·开发语言
Navigator_Z20 小时前
LeetCode //C - 1192. Critical Connections in a Network
c语言·算法·leetcode
布莱克60521 小时前
理解 C/C++ 中的 void* 指针
c语言·c++
(initial)21 小时前
C-05. Kernel Fusion 代价边界:少写回 vs 寄存器压力与 occupancy
c语言·开发语言·cuda
不正经学生1 天前
C语言字符串函数进阶:安全版函数 + 错误处理 + 子串查找
c语言·开发语言·c++·算法·面试
不正经学生1 天前
C语言大小端字节序:内存里字节的排列顺序
c语言·开发语言·arm开发·c++·算法·c#