码迷,mamicode.com
首页 > 编程语言 > 详细

C语言:结构体和联合体(共用体)

时间:2015-08-04 20:37:32      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

结构体:struct

1、结构体变量的首地址能够被其最宽基本类型成员的大小所整除。
2、结构体每个成员相对于结构体首地址的偏移量(offset)都是成员的整数倍。
3、结构体的总大小为结构体最宽基本类型成员大小的整数倍。
 
 
cpu的字长:
32位的cpu或64位的cpu
32位或64位指的是cpu的字长
字长实际上指得是cpu在访问内存时,一次可以读取的长度。
 
内存对齐(可以设置,一般是2的倍数,虽然浪费了空间,但是方便了cpu更好更快的取出数据):
char  4个字节 
int    4个字节
 
int      8个字节
double 8个字节
 
联合体(共用体):union
1、所有的属性成员都共同相同的一块内存空间,而这个空间大小取自最大属性成员的大小。属性成员在依次存值时,会产生覆盖。
2、联合变量的定义和初始化,使用第一个数据成员做初始化,{}不能省略

C语言:结构体和联合体(共用体)

标签:

原文地址:http://www.cnblogs.com/XYQ-208910/p/4702869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!