小甲鱼-C++ 13 联合、枚举和类型别名

写在前面:作为一只小白,感谢小甲鱼老师提供这么好的入门课程。因此在这里做个笔记,如有侵权请联系删除

www.fishc.com

1、联合

联合与结构有很多相似之处,联合也可以容纳多种不同类型的值,但是它每次只能存储这些值中的某一个。

union mima
{
    unsigned long birthday;
    unsigned short ssn;
    char* pet;
};
 
//创建该类型变量
mima mima_1;
 
// 对联合利的成员赋值
mima_1.birthday = 19981201;
 
//如果我们再执行下边语句,这个联合将存入"Chaozai"的pet成员,并丢弃birthday成员里的值
mima_1.pet = "Chaozai";
 
#include <iostream>
 
using namespace std;
 
union mima
{
	unsigned long birthday;
	unsigned short ssn;
	char* pet;
};
 
int main()
{
	mima mima_1;
 
	mima_1.birthday = 19981201;
	cout << mima_1.birthday << endl;
 
	mima_1.pet = "Chaozai";
	cout << mima_1.pet << endl;
	cout << mima_1.birthday << endl; 
 
 
	return 0;
}

运行结果

19981201
Chaozai
94010639892485

2、枚举

枚举类型用来创建一个可取值列表:

enum weekdays{Monday, Tuesday, Wednesday, Thursday, Friday};
 
//创建该类型变量
weekdays today;
 
//赋值
today = Tuesday;
#include <iostream>
 
using namespace std;
 
int main()
{
	enum weekdays{Monday, Tuesday, Wednesday, Thursday, Friday};
 
	//创建该类型变量
	weekdays today;
 
	//赋值
	today = Tuesday; 
	cout << today << endl;
 
	today = Monday;
	cout << today << endl;
 
 
	return 0;
}

运行结果:

1
0

注意:

(1) 这里不需要使用引号,因为枚举值不是字符串

(2) 编译器会按照各个枚举值在定义时出现的先后顺序把它们与0~n-1的整数分别关联起来.

使用枚举类型的好处:

(1)它们对变量的可取值加以限制

(2) 它们可以用做switch条件语句的case标号,而字符串是不能作为标号使用的

3、类型别名

Typedef保留字可以用来为一个类型定义创建一个别名

比如: typedef int* intPointer;

intPointer myPointer;

参考  https://blog.csdn.net/qq_30708445/article/details/88593869

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值