文章目录
- C++016-C++结构体
- 结构体
- 目标
- 结构体
- 定义结构体
- 实例化结构体
- 题目描述
- 在线练习:
- 总结
C++016-C++结构体
在线练习:
http://noi.openjudge.cn/
https://www.luogu.com.cn/
结构体
参考:https://www.cnblogs.com/ybqjymy/p/16561657.html
https://blog.csdn.net/weixin_45984283/article/details/124211891
目标
1、掌握结构体的基本使用
2、学会使用sort()函数
3、学会结构体排序
结构体
结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值。在定义结构体时,系统对之不分配实际内存。只有定义结构体变量时,系统才为其分配内存。
定义结构体
struct 结构体名{
结构体成员列表
};
如:
struct PayRoll
{
int empNumber;
string name;
double hours,payRate,grossPay;
};
实例化结构体
- 先定义结构体类型再单独进行变量定义
#include <bits/stdc++.h>
using namespace std;
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
};
int main()
{
struct Student Stu;
struct Student StuArray[10];
struct Student *pStru;
return 0;
}
- 紧跟在结构体类型说明之后进行定义
#include <bits/stdc++.h>
using namespace std;
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
}Stu,StuArray[10],*pStu;
int main()
{
Stu;
StuArray[10];
//pStru;
return 0;
}
- 在说明一个无名结构体变量的同时直接进行定义
这种情况下,之后不能再定义其他变量。
#include <bits/stdc++.h>
using namespace std;
struct
{
int Code;
char Name[20];
char Sex;
int Age;
}Stu,Stu1[10],*pStu;
int main()
{
return 0;
}
- 使用typedef说明一个结构体变量之后再用新类名来定义变量
#include <bits/stdc++.h>
using namespace std;
typedef struct
{
int Code;
char Name[20];
char Sex;
int Age;
}Student;
Student Stu1,Stu[10],*pStu;
int main()
{
return 0;
}
Student是一个具体的结构体类型,唯一标识。这里不用再加struct
- 使用new动态创建结构体变量
使用new动态创建结构体变量时,必须是结构体指针类型。访问时,普通结构体变量使用使用成员变量访问符".“,指针类型的结构体变量使用的成员变量访问符为”->"。
注意:动态创建结构体变量使用后勿忘delete。
#include <iostream>
using namespace std;
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
}Stu,StuArray[10],*pStu;
int main(){
Student *s = new Student(); // 或者Student *s = new Student;
s->Code = 1;
cout<<s->Code;
delete s;
return 0;
}
题目描述
在线练习:
http://noi.openjudge.cn/
总结
本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++结构体案例,包括相关案例练习。