使用三重指针创建矩阵会导致分段错误

时间:2018-01-16 16:30:53

标签: c pointers matrix

我需要实现一个接收三指针的matrix_create函数 它编译得很好,但是当我运行它时,我得到了分段错误错误,可能是因为我搞砸了内存分配中的某个地方。
但我找不到我的错误。

代码

regexp_substr('AA||CCCCCCCC|||FFFFFFFFFFF', '(.*?)(\||$)', 1, 6, 'c', 1)

1 个答案:

答案 0 :(得分:2)

索引运算符[]优先于间接运算符*
请参阅C Operator Precedence

这意味着您必须更改

*m[i]

(*m)[i]
函数matrix_create中的

(*m)[i] = malloc(sp * sizeof(int));
if (!(*m)[i]) {
    .....
}

并在主程序中:

printf("%i\n", (*m)[i][j]);