关于结构体指针内存分配的问题
#include<stdio.h>
#include<stdlib.h>
struct Person
{
char name[128];
char tel[128];
struct Person *next;
};
int main(void)
{
struct Person *contacts = NULL;
struct Person *person;
person = (struct Person *)malloc(sizeof(struct Person));
//如果没有这一句,则只是声明了结构体指针,而没有给它分配内存空间,无法对指针指向的结构体赋值
printf("请输入联系人姓名:");
scanf("%s",person->name);
printf("请输入联系人电话:");
scanf("%s",person->tel);
printf("联系人:%s\n",person->name);
printf("电话:%s\n",person->tel);
free(person);
return 0;
}