看一个例子:
输出结果:
为什么是这样的呢?
因为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/
转载文章受原作者版权保护。转载请注明原作者出处!