我得到"错误:存储大小' c'不知道"当我尝试创建变量" c"我的结构名为" struct car"
以下是代码:
teste.h
#ifndef TESTE_H_INCLUDED
#define TESTE_H_INCLUDED
typedef struct car Car;
#endif // TESTE_H_INCLUDED
teste.c
#include <stdio.h>
#include <stdlib.h>
#include "teste.h"
struct car{
char name[20];
char model[20];
};
main.c
#include <stdio.h>
#include <stdlib.h>
#include "teste.h"
int main()
{
Car c;
return 0;
}
我无法弄清楚为什么我会收到这个错误...我敢打赌这是愚蠢的......有人能帮帮我吗?
答案 0 :(得分:3)
头文件中的Car结构只是一个前向声明,当它包含在main.c中时,它只知道前向声明但不知道它是如何定义的(或者是这种情况下,结构的大小是什么)。在头文件上定义你的结构。
struct car {
char name[20];
char model[20];
};