C结构是特殊的大变量,里面包含几个命名变量。结构是C中对象和类的基础。结构用于:
struct point {
int x;
int y;
};
现在,让我们定义一个新点,然后使用它。假设函数draw接收一个点并在屏幕上绘制它。如果没有结构,使用它将需要两个参数 - 每个参数对应于每个坐标:
/* draws a point at 10, 5 */
int x = 10;
int y = 5;
draw(x, y);
使用结构,我们可以传递一个点参数:
/* draws a point at 10, 5 */
struct point p;
p.x = 10;
p.y = 5;
draw(p);
要访问点的变量,我们使用点.运算符。
Typedef允许我们定义具有不同名称的类型 - 在处理结构和指针时可以派上用场。在这种情况下,我们想要摆脱点结构的长定义。我们可以使用以下语法struct从每次要定义新点时删除关键字:
typedef struct {
int x;
int y;
} point;
这将允许我们定义一个像这样的新点:
poi