c - 将 char** 分配给空数组时转储了 Seg 故障核心
问题描述
这是我的代码: pipeArr[i] = commands 行导致转储了 seg fault core。
char ***pipeArr;
for (int i = 0; i < numPipes; i++) {
char** commands = /* a function that returns char** */
pipeArr[i] = commands;
}
为什么将 char** 数组分配给未分配的 char*** 数组的索引会导致段错误?有什么办法可以防止这种情况吗?
解决方案
您从未为 分配任何值pipeArr
,因此它是一个特别指向任何内容的指针。因此,当您这样做时,pipeArr[i] = ...
您正在修改i
“没有什么特别的元素”。
推荐阅读
- python - 无法使用 pyenv 安装 Python 3.8.5
- javascript - 同位素砌体项目相互重叠
- java - 如何在没有数据库连接的情况下在 Spring 中正确运行所有 Junit 测试
- javascript - NPM npm_package_main 变量始终为空
- filter - 从不同的数据源中过滤数据源
- reactjs - 如何在更新父组件状态时更新子组件状态
- ionic-framework - 是否可以设置 ion-img 类的样式?
- python - 在 sqlalchemy 数据库中搜索 ct_chart
- php - 我有数组,我想遍历它们并为它们分配相同的值,但它们混淆了
- windows - 在 Windows 10 的 PowerShell 中使用 Haskell 输出 Utf8 字符串