【发布时间】:2018-10-03 01:52:53
【问题描述】:
我正在尝试以下方法为键分配一个值,该键是结构的一部分。 Key 是指向 char 的指针。
T->oa[i].key = (char*)malloc(5*(sizeof(char)));
strcpy(T->oa[i].key,"abc");
当我运行它时,我在 strcpy 行上遇到了一个段错误。这里发生了什么?谢谢。
【问题讨论】:
-
malloc 是否返回非 NULL?
-
请将其转为minimal reproducible example,缺少一些声明/定义。
-
@Yunnosch 我如何检查它的回报?如果它返回 NULL 那意味着什么?
-
约翰,看我的回答,你只需要添加
doSomethingIntelligent()位,这取决于你的特殊需要:-) -
请不要将这个
malloc转换成C。