结构体定义

为了在一个类型中装多种类型的数据,所以采用结构体(struct)。比如关于学生的描述,就包含他的姓名、学号、姓别、成绩等各种类型的数据。

w1.定义结构体及结构体变量 w结构体变量的定义有两种形式:

先定义结构体再定义结构体变量

struct 结构体类型名{ //其中struct是关键字
    成员; //可以有多个成员
    成员函数; //可以有多个成员函数,也可以没有
};
结构体名  结构体变量 //同样可以同时定义多个结构体变量

例如:
struct student{ //定义类型名叫student的struct类型
        string name;
        int chinese,math;
        int total;
};
student a[110];

struct 结构体类型名{     
    成员;       
   成员函数;    
}结构体变量表; //可以同时定义多个结构体变量,用“,”隔开

struct student{
       string name;
       int chinese,math;
       int total;
} a[110];                  //同时定义了a数组变量

在定义结构体变量时注意,结构体变量名和结构体名不能相同。在定义结构体时,系统对其不分配实际内存。只有定义结构体变量时,系统才为其分配内存。

创建一个学生的结构体,包括年龄、学号、姓名、成绩、性别。

struct student{
int age;
int gender;
int number;
string name;
int score;
}student1;

成员调用
结构体变量与各个成员之间引用的一般形式为:
       结构体变量名.成员名
      对于上面定义的结构体变量,我们可以这样操作:
      cin>>student1.name;              //一般情况下不能写cin>>student;
cout<<student1.age;
student1.number=student1.age+student1.score;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
struct    student{
    int  age;
    int gender;
    int  number;
    string name;
    int score;
};
int main(){
      student  zhanghsan;
      zhanghsan.age=16;
      zhanghsan.gender= true;
      zhanghsan.number=452325;
      zhanghsan.name="zhangsanfeng";
      zhanghsan.score=345;
      cout<<zhanghsan.score;
}

先定义结构体再定义变量

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
struct    student{
    int  age;
    char gender;
    int  number;
    string name;
    int score;
}wanger;
int main(){
      cin>>wanger.age;
      cin>>wanger.gender;
      cin>>wanger.number;
      cin>>wanger.name;
      cin>>wanger.score;
      cout<<wanger.name;
}

定义结构体的同时定义变量

Scroll to Top