0

我一直在关注网络上有关创建结构然后在 main() 中对其进行初始化的教程。从我遵循的教程中,我创建了自己的示例,如下所示:

#include <stdio.h>

struct test {
    int num;
};

main() {
    test structure;
}

但是,这不起作用:

test.c: In function 'main':
test.c:8: error: 'test' undeclared (first use in this function)
test.c:8: error: (Each undeclared identifier is reported only once
test.c:8: error: for each function it appears in.)
test.c:8: error: expected ';' before 'structure'

但是当我改变时:

test structure;

至:

struct test structure;

代码编译。这是为什么?从我看过的众多例子看来,我不应该在“测试结构”之前需要“结构”。

感谢您的帮助/评论/答案。

4

2 回答 2

2

您正在阅读 C++ 示例。在 C 中,您的结构类型struct test不是test.

于 2013-09-24T21:52:43.083 回答
1

你可以通过这样做来解决这个问题

typedef struct test_s 
{
    int num;
} test;
于 2013-09-24T21:52:16.497 回答