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

问题描述

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

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

解决方案

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;
}

解决方案二:

1)在A中定义的函数,如何在B中调用?
如果有头文件,在头文件中声明,在B文件中#include头文件就可以了。
如果是在.c文件中声明的,在B中加extent声明:extern?void?timer_hw_init(void);
2)在A中定义的结构体及变量,如何在B中调用?
1>?对于全局结构体定义,首先在Globals.h头文件中构造结构体,用......
答案就在这里:c中全局变量,全局结构体使用

解决方案三:

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

解决方案四:

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

解决方案五:

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

解决方案六:

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

时间: 2024-08-03 23:02:12

c语言-c结构体全局变量的使用?的相关文章

xcode-c语言关于结构体类型的函数的返回值return

问题描述 c语言关于结构体类型的函数的返回值return 定义了一个全局变量的结构体,然后又定义了一个结构体类型的函数,函数的返回值如何返回一个空值,显然return 0;是不行的 解决方案 1)可以用结构体指针,因为指针的null是一个典型的"空",相对于int的0更能体现"空值"的含义,也最方便 2)结构体属于你自己定义的变量,所以你也可以规定当这个结构体里面的变量的值是某种情况是,认为这个结构体类型的变量是"空",比如一般意义上的int认为

c语言,对结构体中的整型数组进行赋值.....

问题描述 c语言,对结构体中的整型数组进行赋值..... c语言中,在结构体里声明整型数组,想对整型数组赋值,只能用循环吗?如果我想这样呢..... typedef struct Data { int arr[10]; }Data; int main() { Data data; data = (Data)malloc(sizeof(Data)); data->arr[10]={1,3,2,4,5,6,7,8,9,0}; . ... ... ... } 这样可以吗? 解决方案 绝对不可以.数组作

struct-C语言中结构体中的数组,不能直接赋值吗

问题描述 C语言中结构体中的数组,不能直接赋值吗 设有定义:struct{char mark[12];intnum1;double num2;}t1,t2;若变量均已正确赋初值,则以下语句中错误的是(C) (A) t1=t2; (B) t2.num1=t1.num1; (C) t2.mark=t1.mark;//mark为结构体中的数组,不能直接赋值?? (D) t2.num2=t1.num2; ?====如题参考答案说为结构体中的数组,不能直接赋值,为什么呢?那应该怎么赋值呢?求大侠指教 解决

c程序设计-C语言截结构体指针中的变量又是另一个结构体指针,怎么用,代码运行不了

问题描述 C语言截结构体指针中的变量又是另一个结构体指针,怎么用,代码运行不了 #include #include #include #include #define LIST_INIT_SIZE 100//线性表存储空间的初始分配量 #define LISTINCREMENT 10//线性表存储空间的分配增量 typedef struct { int No; char name[10]; }Student; typedef struct { Student *elem;//存储空间基址 int

C语言的结构体和C++结构体的区别

关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的初始化方法> 接着下面两个代码截图(一个是C源码,一个是C++源码)对比你就初步体会到C语言的结构体和C++结构体的区别了:        对于右边的C++结构体的使用类似Java,C++,Swift中的类,类中有构造器方法,然后构造器创建这个类的实例对象. 当然Swift中也有一样用法的结构体.毕竟S

c语言-一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~

问题描述 一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~ 描述 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管.这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下: 1. 这根钢管一定要是仓库中最长的: 2. 这根钢管一定要是最长的钢管中最细的: 3. 这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近). 相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那根-- 要不,还是请你编

C++ 语言关于结构体的排序的功能

问题描述 C++ 语言关于结构体的排序的功能 结构体由多个字段构成,要求按照先后次序对字段排序,用C++语言实现,怎么才能简单高效可靠 解决方案 参考:http://blog.csdn.net/lethic/article/details/7781203 解决方案二: GO语言为结构体排序c++ 结构体排序结构体优先队列排序 解决方案三: 根据结构体中的某个字段排序?

struct-C语言关于结构体赋值的问题,请教

问题描述 C语言关于结构体赋值的问题,请教 现在有一内存结构 如下: typedef struct { char classname[128]; char name[32]; unsigned int id; char X[128]; int X_len; }class_t; 现在有很多组数据要向该结构体赋值.但是 X[128] 这个变量是不可见字符 如0x20,0x03,0x04等登构成的. 那么我现在按照 class_t Temp[] = { {"One", "OneNa

struct-c语言关于结构体的问题

问题描述 c语言关于结构体的问题 typedef struct Data { int arr[10]; int* p_low; int* p_high; } Data; int main() { Data* data = NULL; printf("%p ",data->arr); printf("%p ",&(data->arr[1])); printf("%p ",data->p_low); 为什么程序再这里就 cr