struct-c结构体问题,无法识别?

问题描述

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

struct-c结构体问题,无法识别?的相关文章

malloc-c语言结构体问题 关于内存分配问题

问题描述 c语言结构体问题 关于内存分配问题 #include<stdio.h> #include<windows.h> #include<stdlib.h> #include<math.h> #include<string.h> #define MAX 100 #define LEN sizeof(struct book) typedef struct book { char id[20]; char name[30]; float price

struct-C++结构体问题????

问题描述 C++结构体问题???? 建立一个项目 程序 .定义一个表示时间的 结构体,有表示年.月.日.小时.分.秒的成员,可以使用 类型short:在主程序中实现输入 输出. ```#include using namespace std; struct Time{ short year, month, day, hour, minute, second; }; void main(){ Time time; cout << "Please enter the time : &qu

struct-C语言typedef结构体问题

问题描述 C语言typedef结构体问题 typedef struct{ uint bits; /* length in bits of modulus / uchar modulus[MAX_RSA_MODULUS_LEN]; / modulus / uchar exponent[4]; / public exponent */} R_RSA_PUBLIC_KEY;初始化这个结构体const R_RSA_PUBLIC_KEY mtPosPPublicKey ={xcfxccxf7xb4xdax

linux内核不支持struct vm_area_struct结构体中flag标志使用值问题

error: 'VM_RESERVED' undeclared (first use in this function 从linux 3.7.0开始内核不再支持struct vm_area_struct结构体中flag标志使用值 VM_RESERVED,驱动开发中把 vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); 改为 vma->vm_flags |= (VM_IO | VM_LOCKED | (VM_DONTEXPAND | VM_DO

socket c c++ 结构体-socket发送结构体问题,无法在服务器端显示完整的结构体

问题描述 socket发送结构体问题,无法在服务器端显示完整的结构体 定义了如下结构体 在发送结构体的时候转换成char *类型 输入了如下学生数据__ 在接收端也进行了数据类型转换,如下 为什么最后的年龄输不出来,而是一串数字,怎么解决? 解决方案 你发送的send是直接发送的student的指针,你需要把整个student的内容存到char数组,然后发送char数组,接收后,也要把char数组memcpy等复制回来 解决方案二: sscanf处有&还能收到数据吗? 解决方案三: 1.你在客户

请教一个MFC struct tm结构体的问题

问题描述 请教一个MFC struct tm结构体的问题 请问下我如果要用这个结构体的话,是用struct tm *还是struct tm?我用VS2013发现如果用带星号指针类型的话会出错,用后者就完全好用,请问是什么情况呀?这两者请问有什么 区别吗? 解决方案 用struct tm *还是struct tm 都可以,但是使用指针你需要分配空间给指针的 解决方案二: 要先用new或者malloc分配控件. 解决方案三: 要先用new或者malloc分配空间. 解决方案四: struct tm

struct ifreq结构体与ip,子网掩码,网关等信息

总结一下,今天学习的关于通过socket,ioctl来获得ip,netmask等信息,其中很多内容参照了很多网上的信息,我会一一列出的 我用的这个函数,就是下面这个函数,其中的有一些全局变量,很好懂,也就不多做解释了一.下面对这个函数进行注解一下: int get_nic_IP_Address()//获取各网卡IP地址.子网掩码{ struct ifreq ifreq;  //声明一个struct ifreq结构体(这个结构体中有很多重要的参数,具体可以参照第二的补充)   int sock; 

C#中怎么读取Struct(结构体)文件!!!!???大虾帮帮我啊。。。。。

问题描述 做项目需要读取一个.DAT文件,这个文件是别人给的,里面记录了一些调试需要用到的参数,是用结构体(Struct)写成的,用的是C++写的.....现在我拿到了这个.dat文件的结构,里面大致形式为(嵌套的结构体):structA{...structB{....structC{.....}}}好像用C++读取很容易,但我目前的软件都是用C#写的,只能在C#里面读了,这个要怎么读啊?网上找了一些资料,看上去好复杂,哪位大虾能详细的讲一下啊,谢谢!!!!还有,我曾经想过是否可以用C++写一个

Linux下的串口编程:struct termios结构体

termios结构体说明 termios结构体中,该结构体一般包括如下的成员: tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; cc_t     c_cc[NCCS]; 其具体意义如下 c_iflag:输入模式标志,控制终端输入方式,具体参数如下所示. c_iflag参数表 键值说明 IGNBRK 忽略BREAK键输入 BRKINT 如果设置了IGNBRK,BREAK键的输入将被忽略,如果设置了BRK