【发布时间】:2014-05-18 03:13:29
【问题描述】:
struct Object * newObj(char * nome, int idade, float altura) {
struct Object *obj = (struct Object *) malloc(sizeof(struct Object));
strcpy(obj->nome, nome); // This is the line
obj->idade = idade;
obj->altura = altura;
return obj;
}
这是我的代码,我不知道为什么我在 strcpy 中遇到分段错误。
有什么想法吗?
提前致谢。
【问题讨论】:
-
你需要为
obj->nome,obj->nome = malloc(...)分配内存 -
请删除所有你不知道确切在做什么的演员表,并解释为什么演员表必须正确工作。永远不要扼杀编译器,而是让它大声说出来:使用
-Wall -Wextra,并适当地处理所有警告。 -
obj->nome是指针还是数组? -
@pNre 那是错误!
-
@Deduplicator 感谢您的建议!
标签: c segmentation-fault strcpy