c - 为结构体赋值

标签 c struct

struct example{
    int a;
    int b;
};

main.c

我可以在 main.c 中写入此结构,如下所示

struct example obj;
obj.a=12;
obj.b=13;

有没有一种方法可以直接写入该结构的全局内存位置,以便可以在程序中的任何位置访问这些值?

最佳答案

两种方式:

您可以获取它的地址并将其作为参数传递给需要访问此数据的函数

&obj

或者,使用全局:

在任何函数之外,编写struct example obj;

并在 header 中声明:

struct example {
  int a;
  int b;
};
extern struct example obj;

编辑:阅读本期可能是个好主意:How do I use extern to share variables between source files?

关于c - 为结构体赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172513/

相关文章:

c - 从 C 递归错误输出的 Mips 翻译

c - 如何通过 i2c 使用带有 BBB 的 1602 LCD?

c - Malloc 更改另一个变量的值 (char*)

c - alloca 是完全可替换的吗?

C 检查数组堆栈是否为空问题

c - 从 lua C 函数返回几个参数

c - 将结构指针设置为等于另一个结构的地址

c++ - 为结构读取 C++ 中的二进制文件的运行时错误

go - 如何组合 2 个结构内容,一个具有相同的键

c - Lisp中C结构的惯用等效词是什么?