繁体   English   中英

初始化包含文件的结构

[英]Initializing a struct containing a file

我定义了一个简单的结构,像这样:

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)。

我的问题是:初始化包含FILE元素的结构的最佳实践是什么?

非常感激你的帮助。

我认为在您的函数sgf_file_new ,您想这样做:

SGFile* sgf_file_new (void)
{
    GFile* sgf = (GFile*)malloc(sizeof(GFile));
    return sgf;
}

实际上,您仅使用值0初始化了指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM