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

时间:2018-09-23 21:13:25

标签: c linked-list

我对C编程非常陌生。为我的班级做一个涉及链表的项目。我定义了一个名为node的结构,该结构代表一个节点,并且具有一个值和指向下一个节点的指针。

如果我希望方法的返回类型为node类型,我必须说

struct node* method_name(){}

或者我只能说

node* method_name(){}

3 个答案:

答案 0 :(得分:0)

Due to how v-app works, the outer elements which contain margin are throwing off the calculations.是类型定义的一部分,所以是的,您将不得不编写struct

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

答案 1 :(得分:0)

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

如果您这样做是这样的:

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

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

但是,如果您这样键入def结构:

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

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

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

答案 2 :(得分:0)

如果您使用的是typedef,例如:

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

您可以使用Node而无需编写struct

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

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