一个typedef结构语法

一个typedef结构语法

本文介绍了一个typedef结构语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  typedef结构{
INT Key_value;
节点*链接;
}节点;

是上面的声明是否有效?或者我应该使用

  typedef结构_node {
INT Key_value;
_node *链接;
}节点;


解决方案

不,这不是有效的(因为如果你试图编译它,你会注意到)。

的typedef 别名没有出台,直到后的typedef ,所以你不能使用里面它本身。

第二个是无效的是(C语言), _node 不是有效的类型名称。您必须使用结构_node 的自我参照。

我倾向于使用pre-声明,并把它分解:

  typedef结构节点节点;结构节点{
  INT Key_Value;
  节点*链接;
};
typedef struct {
int Key_value;
Node *link;
}Node;

Is the above declaration valid? or should I use

typedef struct _node{
int Key_value;
_node *link;
}Node;
解决方案

No, it's not valid (as you would have noticed if you tried to compile it).

The typedef alias isn't introduced until the after the typedef, so you can't use it inside itself.

The second one isn't valid either (in C), _node is not a valid type name. You must use struct _node for the self-reference.

I tend to use pre-declaration and split it:

typedef struct Node Node;

struct Node {
  int Key_Value;
  Node *link;
};

这篇关于一个typedef结构语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 21:15