外部结构逻辑

时间:2010-02-04 06:15:30

标签: c

如何用c语言进行外部结构。这样我就可以使用另一种结构了。

2 个答案:

答案 0 :(得分:9)

我假设b是另一个源文件。你可以这样:

file:file.h

#ifndef _FILE_H_
#define _FILE_H_
 struct emp {
 char name[100];
 };
#endif

文件:a.c

#include "file.h"    
extern struct emp e; // declare struct var as extern.

int main() {

        printf("Name = %s\n",e.name);

        return 0;
}

file:b.c

#include "file.h"    
struct emp e = {"stackoverflow"}; // struct var defined here.

跑步时:

$ gcc *.c && ./a.out
Name = stackoverflow

您的问题非常不清楚,而且您不是新的。

答案 1 :(得分:0)

extern struct和extern一样,至少当extern在头文件中并且实际的struct在包含该头的cpp文件中时。我认为“extern struct”不仅仅是“extern”。