结构

来源:互联网 发布:软件展示html模版 编辑:程序博客网 时间:2024/04/30 07:50
结构
struct 结构标记{...}
关键字struct引入结构声明,结构声明由包含在花括号内的一系列声明组成,struct后的名字是可选的,称为结构标记。结构标记用于为结构命名,在定义之后,结构标记就代表花括号内的声明。结构中定义的变量称为成员,结构成员、结构标记和普通变量(即非成员)可以使用相同的名字。
例:struct point
      {
          floatx;
          doubley;
      }

struct声明定义了一种数据类型,在标志结构成员表结束的右花括号之后可以跟一个变量表,此时将变量声明为指定类型的变量,且为他们分配存储空间
例:struct {...} x, y, z;
若结构声明后不带变量表,则不需为各变量分配存储空间

在表达式中可以通过"结构名.成员名"的形式引用某个特定结构中的成员
结构可以嵌套
例:struct point
      {
          floatx;
          doubley;
      }
     structrect
    {
         point pt1;
         point pt2;
    }
     rectscreen;
可以用screen.pt1.x来引用screen的成员pt1的x坐标

结构与函数的结合
point addpoint(point &p1,point &p2)
{
    p1.x += p2.x;
    p1.y += p2.y;
    return p1;
}
利用return返回结果

结构指针,即指向结构的指针
p->结构成员
例:
    rect *sc;
   sc=&screen;
则screen.pt1.x<=>sc->pt1.x<=>(sc->pt1).x<=>(screen.pt1).x
在所有运算符中,结构运算符"."和"->"、用于函数调用的"()"以及用于下标的"[]"优先级最高

自引用结构,指一个或多个自身的变量是指向自身的指针
例:struct tnode
      {
           char *word;
           struct tnode *left;
      }
原创粉丝点击