enum枚举
http://www.jianshu.com/p/1b4e7dfef9e5
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。
定义
形式
enum 枚举名 {枚举元素1,枚举元素2,……};
举例
enum Season {spring, summer, autumn, winter};
struct结构体
结构体,一种数据类型,像int、char等。
http://www.jianshu.com/p/11338c411bec
结构体的定义
形式:
struct 结构体名{
类型名1 成员名1;
类型名2 成员名2;
……
类型名n 成员名n;
};
举例:
struct Student{
char* name;//姓名
int age;//年龄
float height;//身高
};
结构体变量的定义
1、先定义结构体类型,再定义变量
struct Student{
char* name;//姓名
int age;//年龄
float height;//身高
};
struct Student stu;
默认情况下,我们定义结构体变量需要带个struct关键字。
2、定义结构体类型的同时定义变量
struct Student{
char* name;//姓名
int age;//年龄
float height;//身高
}stu;
3、直接定义结构体类型变量,省略类型名
struct {
char* name;//姓名
int age;//年龄
float height;//身高
}stu;
typedef
typedef是C语言的关键字,作用是为一种数据类型定义一个新名字。
http://www.jianshu.com/p/740f87e97be1
介绍
typedef existing_type new_type_name;
注意:typedef 并不创建新的类型。它仅仅为现有类型添加一个同义字。
使用typedef给结构体起别名
struct MyPoint{
float x;
float y;
};
typedef struct MyPoint SPoint;
SPoint p;
p.x=10.0f;
typedef struct MyPoint{//MyPoint可以省略
float x;
float y;
}Point;
typedef 与 define 区别
宏定义只是简单的字符串代换,是在预处理完成的,而typedef是在编译时处理的,它不是作简单的代换,而是对类型说明符重新命名。被命名的标识符具有类型定义说明的功能。
#define P1 int*;
typedef int* P2;
P1 a, b; 在宏代换后变成: int *a, b; 表示 a 是指向整型的指针变量,而 b 是整型变量。
P2 a, b; 表示a,b都是指向整型的指针变量。因为P2是一个类型说明符。
http://blog.csdn.net/qq_29350001/article/details/53883571