您的位置:首页 > 编程语言 > C语言/C++

C语言系列——关键字二

2014-12-31 16:47 190 查看
接上一篇,继续总结C语言剩下的几个关键字,个人感觉用好会大大提到代码的规范性和可读性。

1> struct关键字

struct是个神奇的关键字,它将一些相关的数据打包一个整体,方便使用。


上面这段话是在网上找的,用以说明struct的神奇。

struct结构体通常跟typedef关键字一起使用,下面说明。

2> enum关键字

1、 枚举类型的使用方法:

<span style="white-space:pre">	</span>enum enum_type_nama
<span style="white-space:pre">	</span>{
   <span style="white-space:pre">		</span>ENUM_CONST_1,
   <span style="white-space:pre">		</span>ENUM_CONST_2,
 <span style="white-space:pre">		</span>  ……
 <span style="white-space:pre">		</span>  ENUM_CONST_n
<span style="white-space:pre">	</span>}enum_variable_name;


注意:enum_type_name是自定义的一种数据类型名,而enum_variable_name为enum_type_name类型的一个变量,也就是我们说的枚举变量。

2、 枚举与#define宏的区别

下面在看看枚举与#define宏的区别:

1)#define宏常量是在预编译阶段进行简单替换的。枚举常量则是在编译的时候确定其值。

2)一般在编译器里,可以调试枚举常量,但不能调试宏常量。

3)枚举可以一次定义大量相关的常量,而#define宏一次只能定义一个。

3> 伟大的缝纫师——typedef关键字

typedef是给一个已经存在的数据类型取一个别名,而非定义一个新的数据类型。

看看实际的应用吧,例如:

<span style="white-space:pre">	</span>typedef struct student
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>// code
<span style="white-space:pre">	</span>}Stu_st, *Stu_pst;


A),struct student stu1; 和Stu_st *stu2;没有区别

B),struct student *stu2; 和Stu_pst stu2; 和Stu_st *stu2;没有区别

解释:“struct student {/*code*/}”看成一个整体,typedef就是给“struct student {/*code*/}”取了个别名叫“Stu_st”;同时给“structstudent { /*code*/} *”取了个别名叫“Stu_pst”。

这些关键字我们用的也不是太好,所以只能说一些基本的概念,具体的应用等我熟练掌握了在总结吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: