在c++中,如何使结构体变量声明为,别的.cpp文件可以访问的外部声明

rjm2050 2006-03-29 12:44:38
我有一个typedef.h文件 内容如下:
#include "stdafx.h"
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

//业主信息结构体部分
typedef struct node
{
char telephone[15];
char name[20];
char IP[20];
char NO[10];
struct node *next;

}OWNER;


//栋号,层号,房间号,结构体部分
typedef struct cnode
{
int cnum;
char ID[3];
struct cnode *lchild;
struct cnode *rchild;
OWNER *owner;
}CNODE;

OWNER * head = NULL;
OWNER *tail = NULL;

CNODE *root = NULL;
CNODE *ctail = NULL;


如何使,head ,tail,root,ctail变量声明为,别的.cpp文件可以访问的
...全文
622 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rjm2050 2006-03-30
  • 打赏
  • 举报
回复
哪位有空,想看我的程序,给个评价,留下,QQ,我传给你们看看,给个公道,是不是,我真的该走人。
rjm2050 2006-03-30
  • 打赏
  • 举报
回复
有一个问题,如果类不在头文件中定义,那另一些模块中的函数,如果要用到类的话会报错,提示没有这个结构体,头文件又不能引用.cpp文件,那怎么办
逸学堂 2006-03-30
  • 打赏
  • 举报
回复
全局变量即可。
其他.cpp文件内,包括typedef.h这个文件即可访问。
cunsh 2006-03-29
  • 打赏
  • 举报
回复

还有你的OWNER类的声明也要放在其他cpp文件里.
cunsh 2006-03-29
  • 打赏
  • 举报
回复
extern OWNER * head ;

在其他cpp文件加上这句.
或者把这句写在一个.h里.其他cpp文件中包含那个头文件.
allen_wang 2006-03-29
  • 打赏
  • 举报
回复
不要在头文件里定义变量,很不好的习惯!!!
lovezn0424 2006-03-29
  • 打赏
  • 举报
回复
extern用就可以了阿
纪俊 2006-03-29
  • 打赏
  • 举报
回复
extern 哈
跟全局变量一个道理
feijiangjun 2006-03-29
  • 打赏
  • 举报
回复
把 OWNER * head = NULL; 改为 extern OWNER * head;
注意: 不要写成 OWNER * head = NULL 这样是定义变量,而不是声明一个外部变量

64,688

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧