问题描述
- c结构体问题,无法识别?
-
我在a.h文件下面书写了结构体
struct wt{
int a;
int b;
};
struct wt stu;
在b.c文件下面
#include“a.h”
wt stu;
void nihao(){
stu.a=1;
}
结构体是一个全局变量结构体为什么b.c文件会显示说 wt 无法识别,stu也是无法识别?
解决方案
struct wt{
int a;
int b;
}; //你写成全角了
struct wt stu;
//wt stu; 这个不需要
void nihao(){
stu.a=1;
}
int main()
{
return 0;
}
解决方案二:
主要的错误就是全角符号和定义的结构体变量有问题
楼主是想在别的.c文件里用这个wt全局的结构体变量是吧
一般我们把全局的变量都定义在.c文件中,在头文件可以加上extern关键字,这样包含该头文件的.c文件都可以使用wt变量了
.h文件改为:
struct wt{
int a;
int b;
};
extern struct wt stu;
解决方案三:
C语言的结构体定义变量时应该加上struct
解决方案四:
你把c文件改为cpp文件就好
时间: 2024-11-05 14:49:57