2 tfboy12121560 tfboy12121560 于 2016.04.10 00:33 提问

c结构体全局变量的使用?

我在一个函数里面这样写,这些是全局变量;我应该怎么样去把这些当道一个结构体里面调用?
void fun(){
a=1;
b=2;
c=22;
d=524;
}

6个回答

zhaoxin19890523
zhaoxin19890523   2016.04.14 22:33
已采纳

typedef struct {
int a;
int b;
int c;
int d;
}my_st;

my_st st_var;

void fun()
{
st_var.a = 1;
st_var.b = 2;
st_var.c = 22;
st_var.d = 524;
}

CSDNXIAOS
CSDNXIAOS   2016.04.10 00:42

1)在A中定义的函数,如何在B中调用?
如果有头文件,在头文件中声明,在B文件中#include头文件就可以了。
如果是在.c文件中声明的,在B中加extent声明:extern void timer_hw_init(void);
2)在A中定义的结构体及变量,如何在B中调用?
1> 对于全局结构体定义,首先在Globals.h头文件中构造结构体,用......
答案就在这里:c中全局变量,全局结构体使用
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

devmiao
devmiao   Ds   Rxr 2016.04.10 00:43

struct A
{
int a=1;
int b=2;
int c=22;
int d=524;
};

tfboy12121560
tfboy12121560 int 我定义过了直接 a=1这样写下去可以吗?
一年多之前 回复
bi_jian
bi_jian   2016.04.10 11:21

楼主应该补充一下结构体相关知识了。上网查查,很多的。自己查学的更快。

tfboy12121560
tfboy12121560 结构体我懂啊 但是结构体赋值全局变量我不太懂
一年多之前 回复
qq423399099
qq423399099   Ds   Rxr 2016.04.10 11:25

感觉不是很懂楼主的意思,楼主是想在结构体里改变这些全局变量的值?
那直接把fun弄成结构体的成员函数或者构造函数就行了
如果只是想在结构体里调用的话,直接使用就好了,反正是全局的变量啊,又不存在作用域问题

qq_26714389
qq_26714389 C++是不能了
一年多之前 回复
tfboy12121560
tfboy12121560 全局变量的值就是这样,我想放到结构体里面
一年多之前 回复
qq_26714389
qq_26714389   2016.04.11 11:18

你们都不懂楼主想干嘛,楼主这是要把变量用结构体管理起来,你直接生成一个C++的结构体然后用类的初始化列表进行赋值就行,因为结构体不是实体,只有实例化才能存放变量

tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 太懂打错
一年多之前 回复
tfboy12121560
tfboy12121560 可以举个例子吗?我不爱动怎么写 按一楼的方法直接放到里面可以吗?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!