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

c语言,求正解,答案正确将加分。。。。。。高手求解。。。
2024-12-01 23:26:23
推荐回答(5个)
回答1:

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

/* 示例 */
file1.c
int i, j; //定义全局变量
char c;
void fun( )
{
}                                          
/*************************************************************/
file2.c
extern int i,j; //外部变量声明
extern char c;
void func1( )
{
}

回答2:

只要将结构体声明放在全局变量处
其他用法与全局变量相同

回答3:

//main.c
#include
#include
#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
//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;
}

回答4:

把结构的定义写到头文件里边,然后再其他文件里#include就行了

回答5:

你定义一个全局的结构体变量噻