iOS地毯式复习

struct、enum、typedef的基本使用

2017-12-26  本文已影响0人  小山93

1. 结构体

是由多种数据类型组合成的新类型

// 定义结构体类型:
struct Student {
    char *name;
    int age;
};

// 第一种:声明变量 + 赋值
struct Student stu4 = {"十6", 13};

// 第二种:先声明变量后赋值
struct Student stu1;
stu1.age = 2;

// 第三种: 定义结构体 + 声明变量 + 赋值
struct Student2 {
    char *name;
    int age;
} stu2 = {"十三", 13};

2. 枚举

由有限的同种数据类型组成的新类型
枚举里面实际存的都是整数,默认从0开始自增1,可以更改初始值

// C语言 定义枚举
enum ButtonStatus1 {
    ButtonStatusNormal,
    ButtonStatusDisable,
    ButtonStatusHighLight
};

// OC 定义枚举 + 改变初始值
NS_ENUM(NSInteger, ButtonStatus2){
    ButtonStatusNormal = 10,
    ButtonStatusDisable,
    ButtonStatusHighLight
};

// 定义变量 + 赋值
enum ButtonStatus1 sta1 = ButtonStatusNormal;
enum ButtonStatus2 sta2 = ButtonStatusDisable;

// 定义枚举 + 定义变量 + 赋值
enum ButtonStatus1 {
    ButtonStatusNormal,
    ButtonStatusDisable,
    ButtonStatusHighLight
} status = ButtonStatusDisable;

3. 类型别名

用来给比较长的类型起别名,一般用于枚举和结构体

// 给已存在的结构体起别名
typedef struct Student Stu;
typedef enum ButtonStatus1 Status1;

// 定义结构体 + 起别名: Stu3
typedef struct Student3 {
    char *name;
    int age;
} Stu3;

// 定义枚举 + 起别名: Stu3
typedef enum ButtonStatus1 {
    ButtonStatusNormal,
    ButtonStatusDisable,
    ButtonStatusHighLight
} Status1;

// 使用时 Stu 可以代替 struct Student,简洁很多呦
struct Student stu4 = {"十6", 13};
Stu  stu4 = {"十6", 13};

// 使用时 Status1 可以代替 enum ButtonStatus1
enum ButtonStatus1 sta1 = ButtonStatusNormal;
Status1 sta1 = ButtonStatusNormal;
上一篇 下一篇

猜你喜欢

热点阅读