声明、定义结构体变量
#include <iostream>
#include <string>
using namespace std;
// 声明、定义结构体变量
// 一、声明结构体变量的两种形式
/*
形式一:在声明结构体类型的时候,顺便声明变量
形式二:利用结构体名字声明变量
*/
// 形式一:在声明结构体类型的时候,顺便声明变量
struct Student{
string name; //成员
int age;
int num;
char level;
} stu1,stu2; //多个变量用逗号分开,声明了变量st1和st2
// 形式二:利用结构体名字声明变量
Student stu3,stu4;
/*
二、定义结构体变量
在声明结构体变量时初始化
*/
Student stu5 = {"张三",16,1,'A'};
/*
注意:
原理与数组初始化一样
依次初始化对应的成员(声明结构体时的顺序)
全局变量默认初始化0,局部变量是随机的
如果只初始化了部分元素,其他都是给0
也可以对部分指定赋值 {.age=16},那其他都是0
*/
int main() {
// 定义了stu6,stu7,a变量,stu6已初始化,stu7结构体内容是随机的,stu8第一个有值,其余值为0,0作为一个字符编码是指空字符,stu9可以对部分进行赋值
Student stu6={"李四",17,2,'C'},stu7,stu8={"王五"},stu9={.age=16};
cout<<"stu6"<<" "<<stu6.name<<" "<<stu6.age<<" "<<stu6.num<<" "<<stu6.level<<endl;
cout<<"stu7"<<" "<<stu7.name<<" "<<stu7.age<<" "<<stu7.num<<" "<<stu7.level<<endl;
cout<<"stu8"<<" "<<stu8.name<<" "<<stu8.age<<" "<<stu8.num<<" "<<stu8.level<<endl;
cout<<"stu9"<<" "<<stu9.name<<" "<<stu9.age<<" "<<stu9.num<<" "<<stu9.level<<endl;
/*
stu6 李四 17 2 C
stu7 -1074793792 32759
stu8 王五 0 0
stu9 16 0
*/
return 0;
}