gpt4 book ai didi

c++ - 函数参数中的struct关键字,有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:08 24 4
gpt4 key购买 nike

我想知道,有什么区别:

struct Node
{
int data;
Node *next;
};

struct Node
{
int data;
struct Node *next;
};

为什么我们在第二个例子中需要 struct 关键字?

另外,

有什么区别
void Foo(Node* head) 
{
Node* cur = head;
//....
}

void Foo(struct Node* head) 
{
struct Node* cur = head;
//....
}

最佳答案

只有包含struct的声明在C中有效。在C++中没有区别。

但是,您可以typedef C 中的struct,这样就不必每次都写了。

typedef struct Node
{
int data;
struct Node *next; // we have not finished the typedef yet
} SNode;

SNode* cur = head; // OK to refer the typedef here

为了兼容性,此语法在 C++ 中也有效。

关于c++ - 函数参数中的struct关键字,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com