C语言中typedef 与结构体

来源:互联网 发布:淘宝代发网 编辑:程序博客网 时间:2024/06/05 01:56

举一个例子:

typedef struct EdgeNode{    int adjvex;    EdgeType weight;    struct EdgeNode *next;}EdgeNode;
  1. C语言中表示类型的关键字struct 不能省略,所以在没有typedef 的情况下,结构体的类型名是struct EdgeNode,再用它去定义变量:

    struct EdgeNode{    int adjvex;    EdgeType weight;    struct EdgeNode *next;};  struct EdgeNode p;
  2. typedef 的语法是 typedef 类型 类型别名;所以通过使用typedef 有简化结构体类型名的作用。即:

    typedef struct EdgeNode{    int adjvex;    EdgeType weight;    struct EdgeNode *next;}EdgeNode;EdgeNode p;
  3. 结构体内第三行有一个自身类型的指针,它不能用EdgeNode *next 来写,因为EdgeNode 是在结尾处才定义的 。
  4. 另外还可以定义成结构体类型的指针,和结构体类型的数组。这个另更。
0 0