包含内部指针的联合的内存分配如何

发布于 2024-11-05 04:27:12 字数 131 浏览 0 评论 0原文

union
{
  unsigned char* pUc;
  unsigned long* pUl;
  unsigned short* pUs;
} up;

up(union) 的内存分配如何

union
{
  unsigned char* pUc;
  unsigned long* pUl;
  unsigned short* pUs;
} up;

How will be the Memory allocation for the up(union)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴随着你 2024-11-12 04:27:15

指向整数类型的指针的大小都相同,因此联合将占用足够的内存来包含单个指针。这有多大取决于您的平台。

Pointers to integer types are all the same size, so the union will take up enough memory to contain a single pointer. How big this is depends on your platform.

灰色世界里的红玫瑰 2024-11-12 04:27:15

要知道对象 up 需要多少字节,有保证的方法是使用 sizeof up:记住对象中可能有填充字节。

如果您想知道有多少位,请使用CHAR_BIT * sizeof up:记住对象中可能有填充位。

The guaranteed way to know how many bytes the object up needs is to use sizeof up: remember there may be padding bytes in the object.

If you want to know how many bits, use CHAR_BIT * sizeof up: remember there may be padding bits in the object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文