结构体,共用体,枚举体,typedef

结构体 共同体 枚举体 typedef

结构体:

概念:结构体时一种构造数据类型
用途:把不同类型的数据组合成一个整体
内存:各成员所占内存空间的累加

关键词:struct

一.结构体的声明与定义变量的方法一共有三种:
1.常规定义:
struct AA
{
int a;
int b;
}; //注意大括号后面有分号
变量定义:struct 机构体名 结构体变量名表
如: struct AA aa,bb;(前面的struct不能掉)
成员调用:aa.a; aa.b;

2.尾部定义。
struct CC
{
int a;
int b;
}aa,bb;
此时aa,bb就是已经定义好的CC类型的变量了,这种情况在声明时struct前就一定不能加typedef,如果加上了,aa,bb就成了和CC一样的结构体类型了,而不是变量了。

3.无名结构体
struct CC
{
int a;
int b;
}vip1,vip2;
此种情况除了vip1,vip2,不能再在其他地方定义新的变量,即定义了几个就只能用几个。

不能在结构体内部直接给成员赋值:

#include<stdio.h>  
//直接带变量名Huqinwei  
struct stuff{  
//      char job[20] = "Programmer";  
//      char job[];  
//      int age = 27;  
//      float height = 185;  
}Huqinwei; 
https://yq.aliyun.com/articles/10417

共用体:

构造数据类型,也叫联合体。
用途: 使几个不同类型的数据共占一段内存(相互覆盖)

关键词:union

特点:
1共用体变量任何时候只有一个变量存在。
2,共用体变量定义分配内存,长度=最长成员所在字节数
3,定义共用体变量的方式和结构体一样有三种:常规,尾部,无名。
4,当给一个成员重复赋值时或对多个成员赋值时,只承认最后一次的赋值。

typedef:

功能:用自定义名字为已有数据类型命名(有点伪装的意思)
范围:只能针对已有数据类型使用。比如:int ,char, double,…..而define什么都可以换。

举例:
typedef int fuck;
fuck you = 2;
printf(“%d”,you) //2

枚举体

关键词:enum

用途:列举所有选项
举例:day = {Sunday,Monday,Tuesday,Wednesday,Thusday,Friday,Saturday};
结尾有分号,如果个枚举常量没有赋值,则默认值为其下标(参考一维数组),比如此时Tuesday = 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值