如何访问另一个文件中存在的函数中的 malloc 元素
文件1.c
#include<xyz.h> //all header files
extern struct SomeDefaultStructurefromHeader *str;
void myfunction(){
str = (struct SomeDefaultStructurefromHeader*)malloc(sizeof(struct SomeDefaultStructurefromHeader));
str->element1 = 1;
str->element2 = 2;
}
如何访问另一个文件(例如 file2.c)中的 str 值。我的想法是创建一个 SomeDefaultStructurefromHeader 的新元素,然后以某种方式将 str 指向它。如果将 str 声明为 extern 然后在文件 2 中调用它,那么在这里使用 extern 会有帮助吗
例如: 文件2.c
struct SomeDefaultStructurefromHeader *st1;
void func2(){
st1 = (struct SomeDefaultStructurefromHeader*)malloc(sizeof(struct SomeDefaultStructurefromHeader));
st1 = str;
printf(st1->element1) // this might return the value str->element1 which is 1
}
我如何实现这一目标?
谢谢
最佳答案
你应该像这样在 file1.c 中声明它:
struct SomeDefaultStructurefromHeader *str;
并在 file2.c 中添加外部说明符:
extern struct SomeDefaultStructurefromHeader *str;
关于c++ - 在另一个文件中访问 malloc 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26340020/