如何用c语言进行外部结构。这样我就可以使用另一种结构了。
答案 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”。