union内嵌struct用法
|
// union内嵌struct用法
// 众所周知,union为联合体,struct为结构体。下面根据实例谈谈用法
#include <stdio.h>
#include <string.h>
void main()
{
union{
char i[6];
struct{
char first;
char second;
char third;
char fourth;
unsigned short five;
}half;
}number;
strcpy(number.i,"abcdA");
printf("%c%c\n",number.half.first, number.half.second);
printf("%c%c%d\n",number.half.third, number.half.fourth,number.half.five);
}
// 输出结果为:
// union中各个变量是共用内存空间。上例中,char数组和结构体共用内存空间。正如程序输出结果
// char数组赋值,结构体中的变量就会按顺序获得数组中的值。
main()
{
union{
int i;
struct{
char first;
char second;
char third;
char fourth;
}half;
}number;
number.i=0x44434241;
printf("%c%c%c%c\n", number.half.first,number.half.second,number.half.third, number.half.fourth);
number.half.first='a';
number.half.second='b';
number.half.third='c';
number.half.fourth='d';
printf("%x\n", number.i);
}
// 输出结果为:
// 从上例结果可以看出: 当给i赋值后, first,second,third,fourth也就相应被赋值;
// 当给first,second,third,fourth赋字符后, 这四个字符的ASCII码也被赋值给i。
|
union内嵌struct用法的更多相关文章
- 转: __asm__ __volatile__内嵌汇编用法简述
from: http://www.embedu.org/Column/Column28.htm __asm__ __volatile__内嵌汇编用法简述 作者:刘老师,华清远见嵌入式学院高级讲师,AR ...
- cpp 内嵌函数(lambda,struct)
auto testFun = [this](int t)->void{ } []()->反回值{ } []内传入函数运行环境所用变量 ()内传入变量 捕捉块 lambda表达式的方括号部分 ...
- 匿名字段 内嵌结构体 interface作为struct field 匿名接口
interface作为struct field,谈谈golang结构体中的匿名接口 - Go语言中文网 - Golang中文社区 https://studygolang.com/articles/19 ...
- 内嵌tomcat最简单用法
maven项目引入内嵌tomcat依赖 <dependency> <groupId>org.apache.tomcat.embed</groupId> <ar ...
- 【原创】X86_64汇编、寄存器、内嵌汇编
整理的X86_64/X86汇编.寄存器.C内嵌汇编笔记,主要用于查阅使用. 目录 一.汇编语言 二.指令 数据传输指令 栈操作指令 push pop 运算指令 位操作 比较操作指令 标志寄存器 流控制 ...
- Beennan的内嵌汇编指导(译)Brennan's Guide to Inline Assembly
注:写在前面,这是一篇翻译文章,本人的英文水平很有限,但内嵌汇编是学习操作系统不可少的知识,本人也常去查看这方面的内容,本文是在做mit的jos实验中的一篇关于内嵌汇编的介绍.关于常用的内嵌汇编(AT ...
- Makefile---make内嵌函数及make命令显示 (九)
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubs ...
- 《Programming WPF》翻译 第3章 3.内嵌控件
原文:<Programming WPF>翻译 第3章 3.内嵌控件 WPF提供了一系列内嵌控件.其中大多数符合标准的你已经熟悉的Windows控件类型.注意到没有一个是包装在旧的Win32 ...
- [转]struct 用法深入探索
struct用法深入探索 作者: Cloudward 1. struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估.因为一个大型 ...
随机推荐
- 中文乱码~Windows 7
1.安装匹配的中文语言包 2.安装中文字体
- 介绍Ext JS 4.2的新特性的《深入浅出Ext JS》上市
以用户为中心的时代,应用的界面外观变得越来越重要.然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易.Ext JS的出现,为广大程序员解决了这一难题.它有丰富多彩的界面和强大的功能,是开发 ...
- 通过正则表达式实现简单xml文件解析
这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...
- 常用快捷键(WebStorm, Eclipse, Sublime)
WebStorm 常用快捷键 Ctrl + / 单行注释// Ctrl + Shift + / 块注释/*…*/ Ctrl + D 复制行 Ctrl + Y 删除行 Ctrl + X 剪切(删除)行, ...
- <input type='file'/>把默认样式改成框框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Bug跟踪方法
Bug跟踪函数调用方法 StackTraceElement mSte = new Exception().getStackTrace()[1]; Log.e("mmm", mSt ...
- php中echo(),print(),print_r()之间的区别
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print只能打印出简单类型变量的值(如int,string) print_r可以打印出复 ...
- js 中实现页面跳转的方法(window.location和window.open的区别)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 【PC端】jQuery+PHP实现浏览更多内容(jquery.more.js插件)
参数说明: 'amount' : '10', //每次显示记录数 'address' : 'comments.php', //请求后台的地址 'format' : 'json', //数据传输格式 ' ...
- [Machine-Learning] 熟悉 Matlab 中的 map
概述 map 的意思是映射,即将一个变量映射到另一个变量. 比如将一个字符串映射为一个数值,那个字符串就是map 的键值(key),数值就是map的数据(value). 由此可以把map理解为一个哈希 ...