比如定义了一个结构体变量为学生,里面的性别,名字等是char*型指针指向中文
struct Student1
{
int num; //学号
char *name; //姓名
char *sex; //性别
int age; //年龄
char* college; //院系
struct Student1* next; //指向下一个学生的指针
};
//假定head_1已经跳转到想要更改的学生地址
void change()
{
char* name,*college,*sex;
int age, grade;
printf("请输入更改后学生的姓名为:");
scanf("%s",&name);
head_1->name = name;
printf("请输入更改后学生的性别为:");
scanf("%s", &sex);
head_1->sex = sex;
printf("请输入更改后学生的年龄为:");
scanf("%d",&age);
head_1->age = age;
printf("请输入更改后学生的院系为:");
scanf("%s", &college);
head_1->college = college;
}
思路如上,修改年龄等数字就没有问题,但是修改名字,院系等就会出现越界情况,应该如何处理?