这是我的问题,我对数组进行了如下malloc:
e->map = malloc(sizeof(int *) * e->map_y);
i = -1;
while (++i < e->map_x)
e->map[i] = malloc(sizeof(int) * e->map_x);
其中e->map_y=14和e->map_x=10问题是我无法访问e->map[10][0](包含)之后的元素(我有一个segfault)我很难把x和y倒过来,但这里似乎不是这样。
如果需要,我可以发布我的整个代码,thx
嗨,我在github上添加了整个项目以了解更多详细信息:https://github.com/42-hbock/fdf
这部分代码在src/default_reading.c中,malloc在函数char*default_reading(char*file,t_env*e)中,我在void create_int_map(char*cmap,t_env*e)中访问时出现分段错误
应该是:
e->map = malloc(sizeof(int *) * e->map_y);
i = -1;
while (++i < e->map_y)
e->map[i] = malloc(sizeof(int) * e->map_x);
改变是同时查看e->map_y而不是e->map_x。代码的其余部分是相同的。