【C++】C++自学旅程(6):自定义数据类型
哈哈,今天除夕哟,首先祝大家新年快乐,一切顺利!(虽然我知道没有人看我的博客,就让我假装一下有很多人把:P)反正现在比较闲,不如来学习一下呗。
第七章“自定义数据类型”,内容比较少,包括结构体类型、共用体类型、枚举类型、和typedef声明。按照惯例我只记录一下C语言中没有学到的或者生疏了的内容。
结构体跟C语言一毛一样,就不说了。
一、共用体类型
难怪当年刷C语言模拟题时总是出现共用体啥的,原来是C++里面正式学的。就是union这东西啦!
定义和使用共用体跟结构体类似,只是关键字struct换成union,不同点:其成员都是用的同一个存储空间,所以只有最后赋值的量才有用,新赋值的量会覆盖之前的。另外要注意的是,初始化只能初始化第一个成员,所以所给的值要满足成员1的类型。
二、typedef声明
首次接触这个东西是在EDA的iOS沙龙中,在OC中,其实很多语句就是苹果换了个名字,用的就是typedef换的,具体可以在foundation框架中找到。简单的说就是换名字。只要看懂几个例子就行了。
typedef int INTEGER; INTEGER a; //给int换了个名字叫做INTEGER typedef struct { int year; int month; int day; }DATE; DATE birthday; //用DATE声明结构体变量birthday,DATE就包括了建立一个结构体且中间包含这些成员的信息,如果需要大量定义就可以省很多事 //另外还可以使用typedef为数组、指针等定义新的类型名称 typedef int COUNT[10]; COUNT a; //声明长度为10的整形数组a typedef char * STRING; STRING p; //用STRING声明字符指针变量*p typedef int (*MAX) (int a, int b); MAX p; //定义MAX为指向函数的指针,然后用MAX来定义一个指针变量p
本章完,耶耶耶,玩去了。新年快乐 again!