这是我的代码:pipeArr [i] =命令导致seg故障核心被转储。
char ***pipeArr;
for (int i = 0; i < numPipes; i++) {
char** commands = /* a function that returns char** */
pipeArr[i] = commands;
}
为什么将char **数组分配给未分配的char ***数组的索引会导致seg错误?有什么办法可以防止这种情况?
答案 0 :(得分:3)
您从未为pipeArr
分配任何值,因此它特别指向没有内容的指针。因此,当您执行pipeArr[i] = ...
时,您正在修改第i
个元素,没有什么特别的。