当前位置:嗨网首页>书籍在线阅读

45-本章小结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

14.16 本章小结

C结构提供在相同的数据对象中存储多个不同类型数据项的方法。可以使用标记来标识一个具体的结构模板,并声明该类型的变量。通过成员点运算符( . )可以使用结构模版中的标签来访问结构的各个成员。

如果有一个指向结构的指针,可以用该指针和间接成员运算符( -> )代替结构名和点运算符来访问结构的各成员。和数组不同,结构名不是结构的地址,要在结构名前使用 & 运算符才能获得结构的地址。

一贯以来,与结构相关的函数都使用指向结构的指针作为参数。现在的C允许把结构作为参数传递,作为返回值和同类型结构之间赋值。然而,传递结构的地址通常更有效。

联合使用与结构相同的语法。然而,联合的成员共享一个共同的存储空间。联合同一时间内只能存储一个单独的数据项,不像结构那样同时存储多种数据类型。也就是说,结构可以同时存储一个 int 类型数据、一个 double 类型数据和一个 char 类型数据,而相应的联合只能保存一个 int 类型数据,或者一个 double 类型数据,或者一个 char 类型数据。

通过枚举可以创建一系列代表整型常量(枚举常量)的符号和定义相关联的枚举类型。

typedef 工具可用于建立C标准类型的别名或缩写。

函数名代表函数的地址,可以把函数的地址作为参数传递给其他函数,然后这些函数就可以使用被指向的函数。如果把特定函数的地址赋给一个名为 pf 的函数指针,可以通过以下两种方式调用该函数:

#include <math.h> /* 提供sin()函数的原型:double sin(double) */
...
double (*pdf)(double);
double x;
pdf = sin;
x = (*pdf)(1.2);    // 调用sin(1.2)
x = pdf(1.2);       // 同样调用 sin(1.2)