程序接收信号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");