c语言中,如何将结构体里的数据 定义 为全局变量,因为我在其他文件中要用到这些变量

c语言,求正解,答案正确将加分。。。。。。高手求解。。。... c语言,求正解,答案正确将加分。。。。。。高手求解。。。 展开
 我来答
小鹿小梨
2017-07-22 · TA获得超过112个赞
知道答主
回答量:36
采纳率:0%
帮助的人:12.9万
展开全部

使用前声明这些变量即可(使用extern关键字表示是外部定义过的变量)。但要注意,全局变量只能定义一次,否则就会犯重复定义的错误。

/* 示例 */
file1.c
int i, j; //定义全局变量
char c;
void fun( )
{
}                                          
/*************************************************************/
file2.c
extern int i,j; //外部变量声明
extern char c;
void func1( )
{
}
你丶好
2017-08-04 · 超过26用户采纳过TA的回答
知道答主
回答量:88
采纳率:87%
帮助的人:34.7万
展开全部
只要将结构体声明放在全局变量处
其他用法与全局变量相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyujack
2012-10-27 · TA获得超过223个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:179万
展开全部
//main.c
#include <stdio.h>
#include <stdlib.h>
#include "extern.h"
int print(char *str,Test t);
Test t={10,'e'};
int main()
{
print("1:\t",t);
return 0;
}
//extern.h
#ifndef EXTERN_H_INCLUDED
#define EXTERN_H_INCLUDED
typedef struct{
int a;
char c;
}Test;
extern Test t;
extern int print(char *str,Test t);
#endif // EXTERN_H_INCLUDED

//extern.c
#include "extern.h"
#include <stdio.h>
//struct Stu std1;
//extern float inta;
int print(char *str,Test t)
{
printf("str=%s\t",str);
printf("%d--%c\n",t.a,t.c);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无名逃兵
2012-10-27 · 超过19用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:45.6万
展开全部
把结构的定义写到头文件里边,然后再其他文件里#include就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaobomo
2012-10-27 · TA获得超过523个赞
知道小有建树答主
回答量:533
采纳率:100%
帮助的人:365万
展开全部
你定义一个全局的结构体变量噻
追问
假如:
typedef struct __SYSTEMTIME__
{
uchar Second;
uchar Minute;
uchar Hour;
uchar Week;
uchar Day;
uchar Month;
uchar Year;
uchar DateString[11];
uchar TimeString[9];
} SYSTEMTIME ; //定义的时间类型

extern SYSTEMTIME CurrentTime ;
是否可以???
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式