65结构体-结构体数组。在C++中,结构体的定义是什么呢?如何新建一个结构体呢?新建好的结构体是如何进行声明和赋值的呢?声明和赋值可以一起进行吗?如何打印输出结构体的属性呢?

问题描述:

根据下列代码和结果回答下列问题。

// Created by 黑马程序员.
#include "iostream"
using namespace std;
#include <string>
//结构体定义
struct student
{
    //成员列表
    string name;  //姓名
    int age;      //年龄
    int score;    //分数
}
stu3; //结构体变量创建方式3



int main() {
    system("chcp 65001");

    //结构体变量创建方式1
    struct student stu1; //struct 关键字可以省略

    stu1.name = "张三";
    stu1.age = 18;
    stu1.score = 100;

    cout << "姓名:" << stu1.name << " 年龄:" << stu1.age  << " 分数:" << stu1.score << endl;

    //结构体变量创建方式2
    struct student stu2 = { "李四",19,60 };

    cout << "姓名:" << stu2.name << " 年龄:" << stu2.age  << " 分数:" << stu2.score << endl;


    stu3.name = "王五";
    stu3.age = 18;
    stu3.score = 80;


    cout << "姓名:" << stu3.name << " 年龄:" << stu3.age  << " 分数:" << stu3.score << endl;

    system("pause");

    return 0;
}
D:\CLion_code\cmake-build-debug\CLion_code.exe
Active code page: 65001
姓名:张三 年龄:18 分数:100
姓名:李四 年龄:19 分数:60
姓名:王五 年龄:18 分数:80
Press any key to continue . . . 

在C++中,结构体的定义是什么呢?如何新建一个结构体呢?新建好的结构体是如何进行声明和赋值的呢?声明和赋值可以一起进行吗?如何打印输出结构体的属性呢?

问题解答:

在C++中,结构体是一种用户定义的数据类型,可以用来组合不同类型的数据。下面是针对你提问的详细解答:

1. 结构体的定义

结构体通过 struct 关键字定义,其基本格式如下:

struct StructName {
    DataType member1; // 成员1
    DataType member2; // 成员2
    // 其他成员
};

在你的代码中,结构体 student 被定义为:

struct student {
    string name;  // 姓名
    int age;      // 年龄
    int score;    // 分数
};

2. 新建一个结构体

可以通过两种方式创建结构体变量:

  • 方式1(单独声明):
struct student stu1; // 使用 struct 关键字(可省略)
  • 方式2(使用初始化列表):
struct student stu2 = { "李四", 19, 60 };
  • 方式3(在定义时创建):
struct student stu3; // 直接在结构体定义后创建

3. 声明和赋值

  • 声明:创建结构体变量时,定义了一个新的结构体实例。
  • 赋值:给结构体的各个成员赋值。

在你的代码中,结构体 stu1 的赋值是分开的,使用点操作符:

stu1.name = "张三";
stu1.age = 18;
stu1.score = 100;

stu2 的赋值是通过初始化列表一次性完成的。

4. 声明和赋值可以一起进行吗?

是的,可以一起进行。在声明结构体时可以直接进行赋值,例如:

struct student stu2 = { "李四", 19, 60 };

5. 打印输出结构体的属性

可以使用 cout 来打印结构体的各个属性。通过点操作符访问结构体的成员,如下所示:

cout << "姓名:" << stu1.name << " 年龄:" << stu1.age << " 分数:" << stu1.score << endl;

这样就可以输出 stu1 的所有属性。

示例代码的输出

程序输出了三名学生的姓名、年龄和分数:

姓名:张三 年龄:18 分数:100
姓名:李四 年龄:19 分数:60
姓名:王五 年龄:18 分数:80

希望这些解释对你理解结构体的定义、创建、赋值和输出有帮助!如果还有其他问题,欢迎继续提问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值