【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!

posted @ 2016-02-07 17:24  HappyCtest  阅读(779)  评论(0编辑  收藏  举报