定义
百度的定义:由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体(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!
本文详细介绍了结构体的基本概念,包括定义、基本操作、输入、直接赋值及访问内部值的方法。通过具体代码示例,深入浅出地解析了结构体在C++中的应用。
214

被折叠的 条评论
为什么被折叠?



