C++结构体类型

本文介绍了在C++中处理包含不同类型数据的场景,如学生信息,如何使用结构体来组织这些数据。结构体允许用户自定义数据类型,包括定义、引用结构体变量及其成员,以及初始化结构体。
摘要由CSDN通过智能技术生成

        在处理大批量数据时,一般会使用数组来实现,数组中各元素都属于同一数据类型。但在实际问题中,要处理的一组数据往往具有不同的数据类型。如一个学生的个人信息有学号(num)、姓名(name)、性别(sex)、年龄(age)、家庭住址(address)等,如下表所示。这些个人信息中包含了不同的数据类型,而这些不同的数据类型又是相互联系的,他们都是这个学生的属性。

numnamesexageaddres
20200020老王M12Chongqing

        那么,该如何把这些不同类型、不同含义的数据当作一个整体来处理呢?

        为了解决这个问题,C++提供了一种用户自定义的数据类型——结构体。

        C++中的结构体是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。

        1 函数体变量的定义

        1 在定义结构体类型时,同时定义结构体变量

struct 结构体类型名
{
    成员列表;
    成员函数;
}结构体变量列表;
          说明

        1 struct时结构体类型的关键字。

        2 成员列表可以有多个成员。

        3 成员函数可以有多个,也可以没有。

        4 结构体变量列表可以是一个变量,也可以是多个变量,如果是多个变量,变量名之间用逗号隔开。

        例如:

struct student//定义结构体类型student
{
    int num;
    char name[20];
    char sex;
    int age;
    char address[100];
}s1,s2;  //定义两个结构体类型student的s1,s2

2 先定义结构体,在定义结构体变量。

struct 结构体类型名
{
    成员列表;
    成员函数;
};
结构体名 结构体变量列表;

例如:

struct student//定义结构体变量student
{
    int num;
    char name[20];
    char sex;
    int age;
    char address[100];
};
student s1,s2;//定义两个结构体类型student的变量s1,s2

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

2 结构体变量的引用

定义结构体变量后,就可以引用或访问这个变量的成员了。

引用变成员的一般格式如下:

结构体变量名.成员名

其中,“."是成员符,它在所有的运算符中优先级最高,因此可以将其当成一个整体来看,即当成一个变量。与其他变量的操作相似。

例如:

s1.num=20200020    //将20200020赋值给结构体变量s1中的成员num
cin>>s1.num;    //键盘读入数据
3 结构体变量的初始化

结构体类型与其他数据类型一样,也可以在定义结构体变量时赋初值。

例如:

struct student
{
    int num;
    char name[20];
    char sex;
    int age;
    char address[100];
}s1={20200020,"张三",'M',12,"Nanjing"};

或者在主函数中初始化:

student s1={20200020,"张三",'M',12,"Chongqing"};

 Ladies and gentlemen,赶紧用你发财的小手点个赞吧!

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值