C语言在一个函数里面定义了一个结构体,在另外一个函数里面使用:
struct tmp {
int a;
int b;
};
struct tmp c; //1. 采用全局变量
int func1()
{
struct tmp c;
func2(c); // 2. 采用传参
}
1. 定义成全局变量
2. 通过传递参数
3. 只能通过这两种方式
tmp.h
#ifndef TMP_H_
#define TMP_H_
struct Tmp {
int a;
int b;
};
extern struct Tmp c; //这里是main.c中定义的c的扩展,可以让包括这个头文件的文件中的函数 //都可以用这个变量
#endif //TMP_H_
把结构体写在tmp.h头文件中
在main.c中定义
struct Tmp c;
在其它的.c文件中包含tmp.h,那么这个文件中的函数就可以用这个c了
把结构体变量定义成全局变量,改变结构体的值不如把结构体变量定义成结构体数组,函数的参数定义成结构体变量名,注意此被调用的函数是有返回值的
在结构体下面定义个结构体变量