结构体,共用体

1、struct
{
 成员列表;
}lucy,lily ,bo;
只能定义}后边这三个变量,有局限性。
2、具有相同类型的结构变量的结构体可以直接进行赋值预算。
ep:lucy=lily;
3、在共用体中,其内存空间就是最后一次操作所得的值。共用体的内存跟最大的那个元素大小有关;
4、枚举:
定义形式:enum bool{false,true};
定义变量:enum bool test;test就被定义为枚举类型了。
5、typedef:
typedef 原数据类型 新类型名;
6、以占最大空间的字符型为开辟最小空间(每次都开辟比较大 的那个字符的空间),偏移量要整除于要分配的变量的空间,
ep:ep:  struct a{
 char a;
 short b;
 short c;
 int d;
 double f;
}num; 其中num占用24字节
其中以double为分配空间,所以每次分出来8个字节,a占用1字节,b占2字节,但是b要从偏移量为2的地址开始存放b,c要存放在偏移量为4的地方开始存放,
d往后边存,但是要以偏移量为4 的倍数的地址开始存放,f 要独自占用8字节。
typedef struct packed_data
{
 int num;
 char name[20];
 char i;
 int a;
 char na[10];
} data;中num占用4字节,name[20]占用20资字节,i独自占用4个字节,因为这次是重新分配4个字节的空间,而int a占4个字节,没法放到这块新开辟的空间中,所以这个i要独自占用4
个字节。而a占用4个字节,na占用10个字节的空间。
7、packed-data
{
unsigned a:2;
unsigned b:6;
 unsigned c:4;
unsigned d:4;
int I;
} data;
其中a占2位,b占6位,c占4位,d占4位,I是一个整型,占4个字节。
8、左移右移a>>=1;a<<=1;
9、用 typedef简化一个定义名,
syoedef struct student{
 char num;
 char name[20];
}STU;
此时STU就代表了struct student来对变量定义类型。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值