c语言联38
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言联38相关的知识,希望对你有一定的参考价值。
构 v {
联 { // 匿名联合体
构 { 整 i, j; }; // 匿名结构体
构 { 长 k, l; } w;
};
整 m;
} v1;
v1.i = 2; // 合法
v1.k = 3; // 非法:内层结构体不是匿名的
v1.w.k = 5; // 合法
#包含 <标io.h>
#包含 <标整.h>
#包含 <断定.h>
整 主(空)
{
联 S {
正32_t u32;
正16_t u16[2];
正8_t u8;
} s = {0x12345678}; // s.u32 现为活跃成员
打印格式("联 S 有 大小 %zu 和 支持 %x\n", 的大小 s, s.u32);
s.u16[0] = 0x0011; // s.u16 现为活跃成员
// 从 s.u32 或 s.u8 的读取转译对象表示
// 打印格式("s.u8 是 现在 %x\n", s.u8); // 未指定,典型结果是 11 或 00
// 打印格式("s.u32 是 现在 %x\n", s.u32); // 未指定,典型结果是 12340011 或 00115678
// 指向联合体所有成员的指针彼此间比较相等,也与指向联合体的指针比较相等
断定((正8_t*)&s == &s.u8);
// 此联合体拥有尾随的 3 个填充字节
联 平板 {
符 c[5]; // 占据 5 字节
浮 f; // 占据 4 字节,隐含对齐 4
} p = {.f = 1.23}; // 大小为 8 以满足 浮 的对齐
打印格式("大小 of 联 of 符[5] 和 浮 是 %zu\n", 的大小 p);
}
联 S 有 大小 4 和 支持 12345678
大小 of 联 of 符[5] 和 浮 是 8
整 福 = 1;
整 条 = 0xE+福; // 错误:非法的预处理数字 0xE+福
整 baz = 0xE + 福; // 好
整 群克 = 条+++++baz; // 错误: 条++ ++ +baz ,而非 条++ + ++baz .
#定义 宏_1 1
#定义 宏_2 2
#定义 宏_3 3
#定义 宏式 (宏_1 <宏_2> 宏_3) // 好 : <宏_2> 不是头文件名
以上是关于c语言联38的主要内容,如果未能解决你的问题,请参考以下文章
52e174ef38c96afbbeabe55d2ec53622 我知道这是什么