我有一个学校项目,我必须在一个.h头文件中制作我的结构和函数。
我已经创建了我的结构,但不能使用其中的任何变量,因为每当我调用它时,它会突出显示结构名称,并告诉我它没有定义,即使它显然在我的结构中,也不会突出显示或给予我任何语法错误。
#include <stdio.h>
typedef struct test1 {
int array1[3];
int array2[3];
};
int main(void) {
scanf_s(" %d %d", &test1.array1[1], &test1.array2[1]);
}
我试过使用typedef,有和没有,它的结果是一样的。如果我在结构外创建单独的变量,我不会遇到任何问题,所以我相信这是我如何创建我的结构的一些问题,但我不知道问题是什么。
2条答案
按热度按时间j5fpnvbx1#
typedef
的使用让我想到您实际上想要定义一个名为test1
的类型。将名称移至struct
之后:然后,您需要创建
test1
的一个示例,以便能够将其与scanf_s
一起使用:p8h8hvxi2#
您声明了类型说明符
struct test1
(而且typedef声明甚至没有为类型说明符struct test1
声明typedef名称)但是
scanf_s
的调用预期对象。
test1
不是对象。这个名称什至未宣告。你可以这样写