内部包含指针的union的内存分配方式如何

时间:2011-05-06 10:40:49

标签: c unions

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

如何为up(union)

分配内存

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

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