我定义了这样一个简单的结构:
typedef struct SGFile SGFile;
struct SGFile{
FILE* sgf_file;
};
初始化函数如下:
SGFile* sgf_file_new (void){
GFile* sgf = {NULL};
return sgf;
}
在我的主程序中,我试图像这样初始化我的函数:
SGFile* sgf = sgf_file_new();
这显然不是我想做的,因为sgf仍然指向NULL(0x000000)。
我的问题是:初始化包含文件元素的结构的最佳实践是什么?
非常感谢你的帮助。
最佳答案
我认为在你的函数中,你想这样做:
SGFile* sgf_file_new (void)
{
GFile* sgf = (GFile*)malloc(sizeof(GFile));
return sgf;
}
实际上,您只使用值0初始化了指针。
关于c - 初始化包含文件的结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6962782/