| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3069 人关注过本帖
标题:如果要将结构体变量定义为全局变量,应该如何操作?
只看楼主 加入收藏
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
收藏
已结贴  问题点数:20 回复次数:7 
如果要将结构体变量定义为全局变量,应该如何操作?
我想将队列定义为全局变量,可是我的先声明结构体才能定义结构体变量啊,这要怎么办。
Queue* Q ;应该放在哪??

#include <stdio.h>
#include <stdlib.h>

#define MaxSizeQ 10000
#define MaxVertex 10000


Queue* Q ;

typedef struct
{
    int rear ;
    int front ;
    int queue[MaxSizeQ] ;
}Queue ;


typedef struct
{
    int vertex[MaxVertex] ;//顶点数组
    int edge[MaxVertex][MaxVertex] ;//边数组
    int n ;//顶点个数
    int e ;//边个数

}MGraph ;
搜索更多相关主题的帖子: 如何 include 结构体 
2015-11-28 09:49
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:10 
你既然都意识到有先后,就放后面啊。

我们都在路上。。。。。
2015-11-28 09:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
放前面也可以的

授人以渔,不授人以鱼。
2015-11-28 12:42
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
这几天太忙了。。。。
2015-11-30 15:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
一万个定点,一万条边,全放在结构内部,注意了。

授人以渔,不授人以鱼。
2015-11-30 15:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
可以提前声明,告诉编译器你这里将要使用一个叫这般名字的类型,但此时你还没有具体使用它,那么编译是允许的。这种用法其实在链表的结构体声明中就用到了,在结构体内部,定义都还没完成,但你已经声明了一个叫next的指针指向这个正在定义中的结构类型。

不过,就你这个代码本身而言,是不需要提前声明的。

授人以渔,不授人以鱼。
2015-11-30 15:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这与我们经常见到的一种情形是同样的道理:代码中写了一个标识符,变量或函数,但其实它是没有定义的,但编译是过了,却在链接时才报错,说找不到某标识符的定义。这就是说,编译(complie)阶段是不管有没有定义的,都可以通过,但会在链接时出错(但如果你引用的对象在动态运行库DLL之中,就会链接时也不报错,留到运行时才出错)。

授人以渔,不授人以鱼。
2015-11-30 15:37
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
回复 7楼 TonyDeng
总算是换成简体字了
2015-12-01 20:42
快速回复:如果要将结构体变量定义为全局变量,应该如何操作?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.069050 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved