gpt4 book ai didi

c++ - 为什么这个结构的大小不正确

转载 作者:搜寻专家 更新时间:2023-10-30 23:57:46 25 4
gpt4 key购买 nike

我有这个示例代码,我用 pack 装饰以确保它的大小为 5 个字节(4 个用于 int,1 个用于 char)。

但它打印出结构的大小是 8 字节。

#pragma pack push
#pragma pack 1
struct mystruct
{
int x;
char y;
};
#pragma pack pop

//static_assert(sizeof(mystruct) == 5, "Size of mystruct should be 5 byte.");

int _tmain(int argc, _TCHAR* argv[])
{
int x=sizeof(mystruct);
printf("size of struct is %d\n",x);
return 0;
}

为什么 te pck 不工作?

如何确保结构的大小始终为 5。

最佳答案

您的 pragma 语法错误。

试试这个:

#pragma pack(push,1)
...
#pragma pack(pop)

Demo .

关于c++ - 为什么这个结构的大小不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com