C语言

enum枚举

//www.greatytc.com/p/1b4e7dfef9e5
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。

定义

形式
enum 枚举名 {枚举元素1,枚举元素2,……};
举例
enum Season {spring, summer, autumn, winter};

struct结构体

结构体,一种数据类型,像int、char等。
//www.greatytc.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语言的关键字,作用是为一种数据类型定义一个新名字。

//www.greatytc.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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容