我有以下代码,我正在尝试为结构名称赋值,但它返回了我的段核心错误。那是为什么?
error: function(e){
if(e.status == 401){
notice(e.responseText+' Please <a href="/login">Login.</a>', 'error');
}
}
答案 0 :(得分:2)
您有malloc
- struct
,但您没有malloc
字符串。 struct
内的指针未初始化,因此您无法strcpy
进入任何内容。
您必须为字符串分配内存,将该内存分配给name
,然后才strcpy
:
Group *newGroup = malloc(sizeof(Group));
newGroup->name = malloc(strlen(group_name)+1); // +1 for '\0' terminator
strcpy(newGroup->name, group_name);