在c个单独的文件中编译结构

时间:2013-07-22 22:18:59

标签: c gcc struct compilation

我想编译两个C单独的文件,其中一个文件将包含像

这样的结构类型
typedef struct {  
  int renglones;  
  int columnas;  
} Matriz

在另一个文件中调用该结构并使用它,但是当我尝试编译文件时,标记错误,我想知道是否有办法执行此操作,或者无法完成。

1 个答案:

答案 0 :(得分:2)

我还没有完全明白你要做什么。但是,结构的定义应该在和头文件中,例如Matriz.h。 一旦定义了这个文件,就可以通过在两个文件中通过include关键字包含Matriz.h来使用新结构。这是定义多个文件使用的结构的正确方法。

例如:

<强> Matriz.h

#ifndef MATRIZ_H
#define MATRIZ_H

typedef struct {  
    int renglones;  
    int columnas;  
} Matriz;


#endif /* end of include guard: MATRIZ_H */

然后在你的c文件中,你可以使用

#include "Matriz.h" 

您收到错误,因为在编译未定义结构的文件时,编译器不知道Matriz对象的大小。

如果您需要更多信息,请与我们联系。