按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
类型定义符typedef
C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。 类型定义符typedef即可用来完成此功能。例如,有整型量a;b;其说明如下: int aa;b; 其中int是整型变量的类型说明符。int的完整写法为integer,
为了增加程序的可读性,可把整型说明符用typedef定义为: typedef int INTEGER 这以后就可用INTEGER来代替int作整型变量的类型说明了。 例如: INTEGER a;b;它等效于: int a;b; 用typedef定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了可读性。例如:
typedef char NAME'20'; 表示NAME是字符数组类型,数组长度为20。
然后可用NAME 说明变量,如: NAME a1;a2;s1;s2;完全等效于: char a1'20';a2'20';s1'20';s2'20'
又如:
typedef struct stu{ char name'20';
int age;
char sex;
} STU;
定义STU表示stu的结构类型,然后可用STU来说明结构变量: STU body1;body2;
typedef定义的一般形式为: typedef 原类型名 新类型名 其中原类型名中含有定义部分,新类型名一般用大写表示, 以
便于区别。在有时也可用宏定义来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译时完成的,后者更为灵活方便。
本章小结
1。 枚举是一种基本数据类型。枚举变量的取值是有限的,枚举元素是常量,不是变量。
2。 枚举变量通常由赋值语句赋值,而不由动态输入赋值。枚举元素虽可由系统或用户定义一个顺序值,但枚举元素和整数并不相同,它们属于不同的类型。因此,也不能用printf语句来输出元素值(可输出顺序值)。
3。 位运算是C语言的一种特殊运算功能, 它是以二进制位为单位进行运算的。位运算符只有逻辑运算和移位运算两类。位运算符可以与赋值符一起组成复合赋值符。如&=;|=;^=;》》=;b)?a:b,形参a;b均出现在条件表达式中。程序第七行max=MAX(x;
y)为宏调用,实参x;y,将代换形参a;b。宏展开后该语句为: max=(x》y)?x:y;用于计算x;y中的大数。对于带参的宏定义有以下问题需要说明:
1。 带参宏定义中,宏名和形参表之间不能有空格出现。
例如把: #define MAX(a;b)