我是 C 的新手,我在使用这个函数时遇到了很多麻烦。我有一个声明为的结构:
struct nivel {
size_t filas;
size_t columnas;
int **mapa;
};
它只是一个二维数组,带有它的大小信息。现在,我有一个读取文本文件并制作“nivel”的函数,它定义为:
void nuevo_nivel_desde_archivo(struct nivel * nuevo_nivel, char *nombre_archivo ){
nuevo_nivel->filas = 0;
nuevo_nivel->columnas = 0;
...
我将只发布这部分,因为它是问题所在。我一直认为我可以创建一个函数来接收指向结构的指针并“填充它”,所以我可以这样调用该函数:
struct nivel *nuevo_nivel;
nuevo_nivel_desde_archivo(nuevo_nivel,nombre_archivo);
Nombre_archivo 只保存文本文件的名称。当我尝试将 cero 分配给结构的任何字段时,我得到一个分段错误错误。从我现在关于指针的内容来看,它应该可以工作,但我担心我在这里遗漏了一些东西并犯了一个巨大的错误。任何帮助,将不胜感激。
编辑:谢谢大家!正如你们所有人所说,我试图访问未分配的内存,即空指针。现在我有另一个问题,但这将是另一个帖子。谢谢!