初学者手对结构体,共用体这部分还不太会,求问大佬

Wryyyy_777 2020-05-25 02:04:08
下面程序运行后,输出32,54。
#include <stdio.h>
struct One
{
char x;
char y;
};
union Two
{
int j;
(1);
};
void main( )
{
union Two r,*s;
(2);
s->j=0x5432;
printf("%x,%x\n",s->z.x,s->z.y);
}
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
千梦一生 2020-05-27
  • 打赏
  • 举报
回复
共用体:
** ** ** ** ** ** ** **】
共用体就是公用上面8【可自定】字节内存
** ** ** ** ** ** ** **
你可以取**视做一个char
也可以取** ** ** **视作一个int
同样可以取** ** ** ** ** ** ** **视作某8字节长度的变量
棉猴 2020-05-25
  • 打赏
  • 举报
回复
请参考《C++中union的使用方法》 希望能够帮到你!
  • 打赏
  • 举报
回复
共用体是指元素共用一块内存,大小由占用内存最大的元素决定,例如
#include <stdio.h>
#include <iostream>
using namespace std;
union uTest {
	int nVal;
	char szVal[4];
};
int main(int argc,char * argv[]) {
	uTest uImpl;
	uImpl.szVal[0] = 'H';
	cout<<uImpl.nVal<<endl; //大小端这里输出值不一样
	return 0;
}
  • 打赏
  • 举报
回复
不知道你要问什么,补程序代码判断大小端?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧