错误:变量'database'有初始化程序但是类型不完整?

时间:2013-11-22 10:19:45

标签: c struct

我有这个typedef结构和一个“构造函数”:

typedef struct database {
    char key;
    char value;
    struct database *next;
} Database;


Database db_createDb() {
    Database *db;
    db = malloc(sizeof(struct database));

    return *db;
}

我正在接听主要功能:

int main(int argc, char *argv[]) {
    Database database = db_createDb();
}

为什么我收到错误“数据库”有初始化程序但是类型不完整“?

1 个答案:

答案 0 :(得分:1)

database更改Database,并保留以后免费的指针:

Database * db_createDb() 
{
    Database *db;
    db = (Database *)malloc(sizeof(Database));

    return db;
}

int main(int argc, char *argv[])
{
    Database * database = db_createDb();

    ....
    free(database);

}