C++基础(五)结构体

   日期:2020-09-14     浏览:146    评论:0    
核心提示:创建结构体#includeusing namespace std;#includestruct Godv{ string name; int age;}gg3;//第三种创建方式int main() { //第一种创建方式 Godv gg1; gg1.age = 18; gg1.name = "godv"; cout << "gg1 :" << gg1.age << gg1.

创建结构体

#include<iostream>
using namespace std;
#include<string>

struct Godv
{
	string name;
	int age;
}gg3;//第三种创建方式

int main() 
{
	//第一种创建方式
	Godv gg1;
	gg1.age = 18;
	gg1.name = "godv";
	cout << "gg1 :" << gg1.age << gg1.name << endl;
	//第二种创建方式
	Godv gg2 = { "goda",19 };
	cout << "gg2 :" << gg2.age << gg2.name << endl;
	gg3.name = "godb";
	gg3.age = 20;
	cout << "gg3 :" << gg3.age << gg3.name << endl;
	return 0;
}

结构体数组

跟一半数组的使用一样 这里仅规范一下编写风格

Godv ggArr[3] =
{
	{"godv",18},
	{"goda",19},
	{"godb",20}
};

结构体指针       ->

Godv gg4 = { "godc",21 };
Godv* p = &gg4;
cout << "gg4 :" << p->age << p->name << endl;

利用const关键字防止误操作

void readGodv(const Godv * p) 
{
	cout << "Godv :" << p->age << p->name << endl;
}

最后附赠一个结构体的小demo

#include <iostream>
#include <string>
#include <ctime>
using namespace std;

struct Student
{
	string name;
	int score;
};

struct Teacher
{
	int id;
	string name;
	Student stus[4];
};

void writeData(Teacher *p,int len)
{
	//赋值
	string nameSpace = "ABCD";
	for (int i = 0; i < len; i++) 
	{
		p->id = i;
		p->name = "Tea_";
		p->name += nameSpace[i];
		Student* s = p->stus;
		for (int j = 0; j < 4; j++)
		{
			s->name = "Stu_";
			s->name += nameSpace[j];
			// int random = rand() % 60; 0~59
			int random = rand() % 61 + 40; //40~100
			s->score = random;
			s++;
		}
		p++;
	}
}
void showData(Teacher* p, int len)
{
	for (int i = 0; i < len; i++) 
	{
		Student* s = p->stus;
		cout << "老师:" << p->id << p->name << endl;
		for (int j = 0; j < 4; j++) 
		{
			cout << "\t学生:" << s->name << s->score << endl;
			s++;
		}
		p++;
	}
}
int main()
{
	//随机数种子
	srand((unsigned int)time(NULL));
	Teacher tea[3];
	int len = sizeof(tea) / sizeof(tea[0]);
	writeData(tea, len);
	showData(tea,len);
	return 0;
}

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服