Error: storage size of 'c' isn't known
Error: storage size of 'c' isn't known
当我尝试为名为 "struct car"
的结构创建变量 "c" 时,我得到 "Error: storage size of 'c' isn't known"
代码如下:
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;
}
我不明白为什么会出现此错误...我敢打赌这是愚蠢的...有人可以帮助我吗?
头文件中的 Car 结构只是一个前向声明,当它包含在 main.c 中时,它只知道前向声明但不知道它是如何定义的(或者在这种情况下,什么结构的大小是)。在头文件中定义结构。
struct car {
char name[20];
char model[20];
};
当我尝试为名为 "struct car"
的结构创建变量 "c" 时,我得到 "Error: storage size of 'c' isn't known"代码如下:
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;
}
我不明白为什么会出现此错误...我敢打赌这是愚蠢的...有人可以帮助我吗?
头文件中的 Car 结构只是一个前向声明,当它包含在 main.c 中时,它只知道前向声明但不知道它是如何定义的(或者在这种情况下,什么结构的大小是)。在头文件中定义结构。
struct car {
char name[20];
char model[20];
};