Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.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
将值设置为结构指针 #包括 #包括 #包括 类型定义结构{ 字符**大小; }事物; 类型定义结构{ 东西,东西; }游戏; 无效加载_数组(Thing*Thing){ int i,j; char**emptyThing=malloc(sizeof(char**)); 清空=malloc(sizeof(char*)*9); 对于(i=0;i thingSize=emptyThing; 免费(清空); } int main(int argc,char*argv[]){ 游戏*游戏; 加载_数组(游戏->物品); printf(“HI”); }_C - Fatal编程技术网

将值设置为结构指针 #包括 #包括 #包括 类型定义结构{ 字符**大小; }事物; 类型定义结构{ 东西,东西; }游戏; 无效加载_数组(Thing*Thing){ int i,j; char**emptyThing=malloc(sizeof(char**)); 清空=malloc(sizeof(char*)*9); 对于(i=0;i thingSize=emptyThing; 免费(清空); } int main(int argc,char*argv[]){ 游戏*游戏; 加载_数组(游戏->物品); printf(“HI”); }

将值设置为结构指针 #包括 #包括 #包括 类型定义结构{ 字符**大小; }事物; 类型定义结构{ 东西,东西; }游戏; 无效加载_数组(Thing*Thing){ int i,j; char**emptyThing=malloc(sizeof(char**)); 清空=malloc(sizeof(char*)*9); 对于(i=0;i thingSize=emptyThing; 免费(清空); } int main(int argc,char*argv[]){ 游戏*游戏; 加载_数组(游戏->物品); printf(“HI”); },c,C,我得到了一个分割错误,我发现问题线是。 thing->thingSize=emptyThing; 我试图将thingSize设置为等于清空的2d数组。正如Fredrik所说,游戏指针没有初始化为任何值。它包含一个垃圾值,当取消引用它时,您将得到一个SEGFULT。正如Fredrik所说,游戏指针没有初始化为任何值。它包含一个垃圾值,当取消引用它时,您将得到一个segfault.你从哪里得到魔法数字9?游戏没有初始化…你的整个代码看起来毫无意义。我认为你应该研究指针,尝试编写包含指针的非常简单的程

我得到了一个分割错误,我发现问题线是。
thing->thingSize=emptyThing;

我试图将thingSize设置为等于清空的2d数组。

正如Fredrik所说,游戏指针没有初始化为任何值。它包含一个垃圾值,当取消引用它时,您将得到一个SEGFULT。

正如Fredrik所说,游戏指针没有初始化为任何值。它包含一个垃圾值,当取消引用它时,您将得到一个segfault.

你从哪里得到魔法数字
9
游戏
没有初始化…你的整个代码看起来毫无意义。我认为你应该研究指针,尝试编写包含指针的非常简单的程序,然后再尝试编写包含多个指针、指向指针的指针、指针数组等的代码。你在哪里做你从?
game
得到的神奇数字
9
没有初始化…你的整个代码看起来毫无意义。我认为你应该研究指针,尝试编写包含指针的简单程序,然后再尝试编写包含多个指针、指向指针的指针、指针数组等的代码。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
    char** thingSize;
} Thing;

typedef struct {
    Thing* thing;
} Game;

void load_array(Thing* thing) {
    int i, j;
    char **emptyThing = malloc(sizeof(char**));
    emptyThing = malloc(sizeof(char*)*9);
    for(i=0; i<9; i++) {
        emptyThing[i] = malloc(sizeof(char)*9);
    }
    thing -> thingSize = emptyThing;
    free(emptyThing);
}

int main(int argc, char* argv[]) {
    Game* game;
    load_array(game -> thing);
    printf("HI");
}