Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何发布应用程序ans存储?免费的_C - Fatal编程技术网

C 如何发布应用程序ans存储?免费的

C 如何发布应用程序ans存储?免费的,c,C,typedef结构应用程序 { char*name;//应用程序的名称 浮动成本;//应用程序的成本(美元) int downloads;//有多少用户下载了应用程序 }应用 类型定义结构应用商店 { Application**apps;//指向指向产品的指针数组的指针 int num_of_apps;//不同产品类型的数量 char*name;//商店的名称(苹果、谷歌等) }应用商店 一, 禁用FreeApp(应用程序*应用程序); 函数接收指向应用程序的指针,并释放应用程序使用的内存 看着

typedef结构应用程序 { char*name;//应用程序的名称 浮动成本;//应用程序的成本(美元) int downloads;//有多少用户下载了应用程序 }应用

类型定义结构应用商店 { Application**apps;//指向指向产品的指针数组的指针 int num_of_apps;//不同产品类型的数量 char*name;//商店的名称(苹果、谷歌等) }应用商店

一,

禁用FreeApp(应用程序*应用程序); 函数接收指向应用程序的指针,并释放应用程序使用的内存 看着他

void FreeApp(应用程序*app){

}

二,

禁用FreeAppStore(AppStore*as); 该函数获取指向应用商店的指针,并释放表单中的所有商店数据 深度)必须使用函数#1。)

作废FreeAppStore(AppStore*as){

inti;
对于(i=0;i应用的数量;i++)
{
FreeApp(as->apps[i]);
//FreeApp(as->name[i]);
}
免费(如->应用程序);
免费(as->name);
免费(as);
}

您可以为您的结构创建一个函数,迭代分配并根据需要释放它们

例如:

void free_obj(Object *obj) {
    if (obj->apps) {
        for (int i = 0; i < num_of_apps)
            if (apps[i])
                free(apps[i]);
    }
}
void free_obj(对象*obj){
如果(对象->应用程序){
对于(int i=0;i首先取决于你是如何分配的。你没有分配任何东西,所以你不能释放任何东西。这不是C,它不是C或者C++,而是应该被适当地延迟。请描述你的代码在OP没有提供信息的所有东西上所做的许多假设。例如,如果OP从不使用任何
new
,只是有许多指向全局变量的指针,该怎么办?换言之,在没有足够的上下文(例如a)的情况下回答这个问题是非常危险的,你应该使用你的评论权限首先获得所需的上下文和信息。禁用FreeApp(应用程序*应用程序);函数接收指向应用程序的指针,并释放应用程序在其上使用的内存。12。禁用FreeAppStore(AppStore*as);该函数获取指向应用商店的指针,并以表单深度(Deep)函数形式发布所有商店数据(必须使用11)。您好,这两条评论我没有得到您想要告诉我们的内容。我想你最好编辑这个问题以提供更多信息。可能是您想要删除的对象是如何创建的。
int i;
    for ( i = 0; i <as->num_of_apps; i++)
    {
        FreeApp(as->apps[i]);
        //FreeApp(as->name[i]);
        
    }
    free(as->apps);
    free(as->name);
    free(as);


}
void free_obj(Object *obj) {
    if (obj->apps) {
        for (int i = 0; i < num_of_apps)
            if (apps[i])
                free(apps[i]);
    }
}