C++数据类型之——结构体

本文详细介绍了结构体的基本概念,包括定义、基本操作、输入、直接赋值及访问内部值的方法。通过具体代码示例,深入浅出地解析了结构体在C++中的应用。

定义

百度的定义:由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体(struct)。
我自己的理解就是假如有一个自己定义的盒子,一个放东西的方块,里面存入不同的类型的小盒子(可以是数组、变量等),你可以像普通数据类型一样得到里面的值,只是里面有各种不同类型的值。

基本操作

先放段代码,我再进行讲解。

/***************************************************
author:David_Ding

date:4.6.2020
***************************************************/
#include<bits/stdc++.h>
using namespace std;
struct student{
	char name[20];
	double chinese;
	double math;
	double total;
}a,b; 
int main(){
//输入名字
scanf("%s",a.name); 
//输入语文成绩
cin>>a.chinese;
//输入数学成绩
cin>>a.math;
//计算总成绩 
a.total=a.chinese+a.math;

//输入名字
scanf("%s",b.name); 
//输入语文成绩
cin>>b.chinese;
//输入数学成绩
cin>>b.math;
//计算总成绩 
b.total=b.chinese+b.math;

//输出名字,注意%s后有空格 
printf("%s ",a.name);
//输出语文成绩 
cout<<a.chinese<<" ";
//输出数学成绩 
cout<<a.math<<" ";
//输出总成绩 
cout<<a.total<<endl; 

	return 0;
}

简单的讲解
1、基本框架(定义)

  • 注意点一定要有分号在最后一个大括号的末尾
struct 自定义数据类型名称{
你想定义的数据类型
};
自定义数据类型名称 你的访问用的名字 ;:
student a;// 即定义了一个以student为类型的名字为a的结构体
  • 你也可以直接在下方直接使用定义一个真正的盒子,如下方:
struct 自定义数据类型名称{
你想定义的数据类型
}自定义数据类型名称 访问的名字;:
struct student{
你想定义的数据类型
}student a;

2、输入

  • 注意在对于结构体中的一个变量时,要加上. 如a.name
struct student{
	char name[20];
	double chinese;
	double math;
	double total;
}a,b; //你现在就定义了a与b两个类型为student的结构体

你就可以对于结构体中不同类型的数据进行分别输入
scanf("%s",a.name);
scanf("%lf",&chinese);
-----------

3、直接赋值

  • 如数组的直接赋值,注意数据类型的对应
struct student{
	char name[20];
	double chinese;
	double math;
	double total;
};
//直接定义时赋值
student a={Mike,99,99.5,99+99.5};
student b={Mary,88,99.5,99.5+88};

4、访问里面的值

  • 注意数据类型的对应(访问存储时)
struct student{
	char name[20];
	double chinese;
	double math;
	double total;
};
//赋值
student a={Mike,99,99.5,99+99.5};
student b={Mary,88,99.5,99.5+88};

double x=a.chinese; //你就得到了a中chinese的值

后记

感谢大家的关注!
若有任何建议请发邮件至learning.dlq@gmail.com!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值