使用具有已定义结构的方法进行 C 编程



我对C编程很陌生。为我的班级做一个涉及链表的项目。我定义了一个名为node的结构,它代表一个节点,它有一个值,以及一个指向下一个节点的指针。

如果我希望方法的返回类型是节点类型,我必须说

struct node* method_name(){}

或者我只能说

node* method_name(){}

struct是类型定义的一部分,所以是的,你必须写struct node* method_name(){}

由于这可能有点乏味,因此还可以使用typedef关键字为您的类型设置别名。因此,如果您调用类型struct NODE,则可以编写typedef struct NODE node以使nodestruct NODE相同,然后可以编写node* method_name(){}

这取决于您是否使用typedef来定义结构。

如果你这样做:

struct node {
int value;
struct node *next;
};

那么是的,您必须将该方法声明为struct node *method_name(){}

但是,如果你像这样键入定义你的结构:

typedef struct node {
int value;
struct node *next;
} node;

然后,您可以将函数名称声明为node *method_name(){}

结构本身是类型struct node,但typedef允许您将结构称为struct node或仅node

如果您使用的是typedef例如:

typedef struct
{
/* your structure */
} Node;

您可以在不编写struct的情况下使用Node

/* Declare node1 and node2 of type Node */
Node node1, node2;

Node * method_name(void);返回"节点"结构的指针。 如果要返回节点(不是指针(,则必须编写代码:Node method_name(void);

相关内容

  • 没有找到相关文章

最新更新