我正在尝试构造一个结构,并且有一个返回该类型指针的函数
这是我的示例代码
struct Word
{
char data[10]; //my structure
struct Word *nextWord;
struct Word *lastWord;
};
Word* addWord(Word* top, Word* newNode) // my function declaration
我创建了一个结构词,在它下面,我已经声明了一个函数。在Word' 之前显示错误'期望的声明说明符或...为什么??
答案 0 :(得分:0)
从
更改您的声明Word* addWord(Word* top, Word* newNode) // my function declaration
到
struct Word* addWord(Word* top, Word* newNode) // my function declaration
请注意struct
关键字。这是因为在C中,结构实例具有以下语法:
struct struct-name instance-name;
或者,你可以像这样定义你的结构
tyepdef struct Word
{
char data[10]; //my structure
struct Word *nextWord;
struct Word *lastWord;
};
typedef
关键字只允许我们编写Word *w
而不是struct Word *w
。
答案 1 :(得分:0)
创建新变量类型时,必须在结构名称中添加struct
。这是struct Word *newWord;
,请在此处阅读更多信息C struct
更改此
Word* addWord(Word* top, Word* newNode)
到这个
struct Word* addWord(struct Word* top, struct Word* newNode)
答案 2 :(得分:0)
如果你正在使用C ++程序,那么你不需要声明struct关键字,但是你在C程序中然后在函数中添加一个结构关键字,即 struct Word * addWord(struct Word * top,struct Word * newNode);