文件str.h
struct STR{ int a; int b;}; //注意这里不要声明变量文件
str.cpp
#include "str.h"
struct STR str; //在这里声明文件
main.cpp
#include <stdio.h>
#include "str.h"
extern struct STR str; //这样就可以引用外部变量了
int main(void){ str.a = 8; return 0;}
总结:1、#include只引用头文件,不要引用程序文件2、#include只声明类型,不要声明变量,因为多次引用会对同一变量多次分配内存,是错误的重复定义;3、变量定义必须放在程序体文件,这样在其他程序体只要声明extern就可以引用了