这是我的问题,我像这样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-&gt; map_x = 10 问题是在e-&gt; map [10] [0](包括)之后我无法访问(我有一个段错误)元素 我很反应我反转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)
答案 0 :(得分:2)
应该是:
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-&gt; map_y而不是e-&gt; map_x。其余代码是相同的。