废话不说,用代码讲道理
#include<stdio.h> // printf()函数的头文件
#include<stdlib.h> // new关键字的头文件
#include<string.h> // strcpy()函数的头文件
// 定义一个学生结构体
typedef struct student {
char id[12]; // 学号
char name[8]; // 姓名
int age; // 年龄
}student, *stu; // 取别名
// 主函数
int main() {
student xiaoming; // 使用结构体类型定义变量,不需要进行初始化
strcpy(xiaoming.id,"20180000001"); // strcpy为复制字符串函数
strcpy(xiaoming.name,"小明");
xiaoming.age = 18;
printf("%s %s %d\n",xiaoming.id,xiaoming.name,xiaoming.age); // 打印输出
stu xiaohong; // 使用结构体指针类型定义变量,需要进行初始化
xiaohong = new student; // 初始化xiaohong,为xiaohong分配内存空间,不能使用new stu
strcpy(xiaohong->id,"20180000002"); // strcpy为复制字符串函数
strcpy(xiaohong->name,"小红");
xiaohong->age = 18;
printf("%s %s %d\n",xiaohong->id,xiaohong->name,xiaohong->age); // 打印输出
return 0;
}
总结:但凡与指针有关的,或多或少都得进行初始化。
最后,如果笔者有什么不恰当的说明,欢迎指正!