c语言的问题.我定义了一个结构体,请问怎么才能在分函数中调用这个结构体并改变它的某个值?该怎么定参
c语言的问题.我定义了一个结构体,请问怎么才能在分函数中调用这个结构体并改变它的某个值?该怎么定参数?...
c语言的问题.我定义了一个结构体,请问怎么才能在分函数中调用这个结构体并改变它的某个值?该怎么定参数?
展开
3个回答
展开全部
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了
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了
展开全部
把结构体变量定义成全局变量,改变结构体的值不如把结构体变量定义成结构体数组,函数的参数定义成结构体变量名,注意此被调用的函数是有返回值的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在结构体下面定义个结构体变量
追答
struct sa
{
int a;
}temp;
然后在函数里面temp.a这样调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询