程序接收信号SIGSEGV,分段故障。 调试时

如果我调试我的代码然后我得到“程序接收信号SIGSEGV,分段错误。” 这是我的代码 –

#include  #include  #include  int main() { struct term { char* name; long int id; float term_gpa; }; struct term *term_ptr, student; term_ptr = &student; strcpy( term_ptr->name,"niton"); term_ptr->id = 942044; term_ptr->term_gpa = 3.75; printf("Name : %s",term_ptr->name); printf("Name : %s",student.name); getch(); return 0; } 

我在第17行收到此错误。请帮帮我! 对不起,我的英语不好。

您需要为term_ptr->name分配内存

改变这个:

 strcpy( term_ptr->name,"niton"); 

对此:

 term_ptr->name = strdup("niton");