c++ union内存

看一个例子:

输出结果:

为什么是这样的呢?

因为A是union,所以在内存中存储的格式为:

高地址 ————> 低地址

12 34 56 78

00010010 00110100 01010110 01111000

s.b 占据低地址的两个字节

s.c 占据高地址的两个字节

所以:

s.b = 5678

s.c = 1234

为了证明,以及看的更清楚,看下面这个程序。

结果:

是不是很明显了。

Original: https://www.cnblogs.com/chenhuan001/p/7516345.html
Author: chenhuan001
Title: c++ union内存

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535294/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • c++11 auto 与 decltype 详解

    一. auto简介 编程时候常常需要把表达式的值付给变量,需要在声明变量的时候清楚的知道变量是什么类型。然而做到这一点并非那么容易(特别是模板中),有时候根本做不到。为了解决这个问…

    C++ 2023年5月29日
    061
  • 聊聊 C++ 和 C# 中的 lambda 玩法

    这几天在看 C++ 的 lambda 表达式,挺有意思,这个标准是在 C11标准 加进去的,也就是 2011 年,相比 C# 2007 …

    C++ 2023年5月29日
    053
  • C++ *和&

    概述 在c++中,当申明变量int *p 的时,表示p是一个储存地址的变量;比如int _p=0,表示p指向地址为00000000的地址单元。当申明指针p之后,再用_p表示p指向的…

    C++ 2023年5月29日
    056
  • Delphi及C++Builder经典图书一览表(持续更新中2018.01.02)

    序号 书名 原版书名 作者 译者 出版社 页数 年代 定价 备注 1 C++Builder 5程序设计大全 C++Builder 5 Developer’s Guide…

    C++ 2023年5月29日
    034
  • C++ 虚继承

    转自:http://www.cppblog.com/chemz/archive/2007/06/12/26135.html 虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断…

    C++ 2023年5月29日
    069
  • C# vs C++ 全局照明渲染性能比试

    512×512像素,每像素1000采样,C#版本渲染时间为40分47秒 最近有多篇讨论程序语言趋势的博文,其中谈及到C#的性能问题。本人之前未做过相关测试,自己的回覆流于…

    C++ 2023年5月29日
    097
  • C++ 内联函数解析(inline)

    inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函…

    C++ 2023年5月29日
    044
  • C/C++定义全局变量/常量几种方法的区别

    在讨论全局变量之前我们先要明白几个基本的概念: 编译单元(模块):在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK…

    C++ 2023年5月29日
    070
  • c/c++本地时间获取

    在记录程序日志时,需要记录时间。如下: 即Y为年、m为月、d为日、X为具体时分秒、A为星期、j为天数、z为其他,结果如下: 如果通过函数返回,需要这样: 其中,char tmp[6…

    C++ 2023年5月29日
    060
  • 聊聊 C++ 右值引用 和 移动构造函数

    一: 背景 最近在看 C++ 的右值引用和移动构造函数,感觉这东西一时半会还挺难理解的,可能是没踩过这方面的坑,所以没有那么大的深有体会,不管怎么说,这一篇我试着聊一下。 二: 右…

    C++ 2023年5月29日
    051
  • c++ 条件变量

    http://blog.csdn.net/hemmanhui/article/details/4417433 互斥锁:用来上锁。 条件变量:用来等待,当条件变量用来自动阻塞一个线程…

    C++ 2023年5月29日
    042
  • CLion之C++框架篇-优化开源框架,引入curl,实现get方式获取资源(四)

    bash;collapse:true;;gutter:true; cmake_minimum_required(VERSION 3.11.2)</p> <p&gt…

    C++ 2023年5月29日
    060
  • c++为什么要面向对象?

    前言 c和c++的区别是什么?不可置否,最重要的就是c++的编程思想是面向对象,而c的编程思想是面向过程,这是它们的本质区别,如果你在使用c++编程时使用的还是面向过程的编程思想,…

    C++ 2023年5月29日
    060
  • C++20新特性

    conceptrequiresconstinitconstevalco_awaitco_returnco_yieldchar8_t 优点:1)没有头文件;2)声明实现仍然可分离, …

    C++ 2023年5月29日
    067
  • C++实现二次、三次B样条曲线

    下面是一个有四个控制点的Bezier 曲线: 可以通过改变一个控制点的位置来改变曲线的形状,比如将上图曲线中左边第二个控制点往上移,就可以得到下面的曲线: 可以看到,这种曲线生成方…

    C++ 2023年5月29日
    040
  • c++内存管理

    我们写一个函数,里面必然会用到变量,每个变量都会占用内存,这些内存分成三个种类。 第一个是栈内存,函数内部局部变量是栈内存。栈内存不用我们手动管理,在调用完函数之后 函数会自动释放…

    C++ 2023年5月29日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球