关于结构体,联合体及内存大小的问题

原创 2007年10月03日 21:30:00

struct s1
{
char *ptr,ch;
union A
{
   short a,b;
   unsigned int c:2, d:1;
};
struct s1* next;
};//这样是12个字节

struct s1
{
char *ptr,ch;
union
{
   short a,b;
   unsigned int c:2, d:1;
};
struct s1* next;
};//这样是16个字节

需要说明的问题有3点:

1.UNION后面不跟A,是声明了结构体的一个成员,占内存,而后面跟了A定义了一个类型,没有分配内存

2.联合体UNION取其中最大的类型的内存分配大小

3.关于char ch,如果你连着分配4个char,都是那些字节,这个东西好象叫做内存对齐,对于什么时候才内存对齐不太了解,因为sizeof(char)是一个字节

 

吉林白山市通沟煤矿发生矿难 矿长已被控制

中广网北京3月25日消息 据中国之声《央广新闻》报道,昨天(24日)上午,位于吉林省白山市浑江区的通沟煤矿发生瓦斯事故,事故当时造成11人死亡,2人失踪,现在经过一天一夜的努力,事故救援进展情况如何,...
  • i66688
  • i66688
  • 2011年03月25日 16:51
  • 0

连线:AT&T如何征服了20世纪

历史发展到 1982 年 1 月时,尽管经济不景气,但 PC(个人电脑)革命正在如火如荼的进行当中。苹果 II 个人电脑已经上市 5 年。1981 年,IBM 开始销售它的 PC,康柏(Compaq)...

治湿疹就到武汉博士肛肠医院

  湿疹(eczema)是一种常见地由多种内外因素引起地表皮及真皮浅层地炎症性皮肤病.其特点为自觉 剧烈瘙痒 ,皮损多形性 ,对称分布,有渗出倾向 ,慢性病程,易反复发作 .中医文献中记载地“浸淫疮”...

C语言结构体,联合体,枚举体的内存大小计算方法

结构体的定义: struct stu{     char *name;  //姓名     int num;  //学号     int age;  //年龄     char group...

C++学习之旅——结构体和联合体的区别,以及数据对齐方式影响内存大小

转载于:http://blog.csdn.net/dreamback1987/article/details/8504943 联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一...

C++学习之旅——结构体和联合体的区别,以及数据对齐方式影响内存大小

转载于:http://blog.csdn.net/dreamback1987/article/details/8504943 联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) ...

C语言结构体占用空间内存大小解析

结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧。 格式一: 01.struct tagPhone 02.{ 03. char A; 0...
  • fb2058
  • fb2058
  • 2013年11月12日 16:59
  • 12086

C/C++中结构体占用内存大小的计算方法

结构体在C语言中虽然经常使用,但是怎么计算一个结构体占用多大的内存,很多C语言的新手都没注意过,其实C语言的语法简单,难就难在它更偏向于与底层,与内存打交道。对于嵌入式方面来说,对C语言的要求更高,因...

struct结构体占内存大小计算

struct结构体占内存大小计算      注意:struct 的{}后面要加上 ”;“ #include struct A {            ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于结构体,联合体及内存大小的问题
举报原因:
原因补充:

(最多只允许输入30个字)