C++结构体怎么创建和初始化
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"C++结构体怎么创建和初始化",在日常操作中,相信很多人在C++结构体怎么创建和初始化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++结构体怎么创
千家信息网最后更新 2025年01月20日C++结构体怎么创建和初始化
这篇文章主要介绍"C++结构体怎么创建和初始化",在日常操作中,相信很多人在C++结构体怎么创建和初始化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++结构体怎么创建和初始化"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创建结构体和初始化操作
#include#include using namespace std;struct User { char name[20]; char sex[5]; int age;};struct Student { string name; int age; int score;}stu;//第三种int main() { struct User u1; strcpy_s(u1.name,"肥学"); u1.age = 12; strcpy_s(u1.sex,"男"); cout << "name:" << u1.name << "age:" << u1.age << "sex:" << u1.sex << endl; struct Student s; s.name = "鸣人"; s.age = 20; s.score = 80; cout << "name:" < 结构体的的一些操作
#include#include using namespace std;struct Friend{ string name; int age; string sex;};struct User { string name; int age; string sex; struct Friend f;};void addFriend(User* u) { Friend f = { "fei",20,"men" }; u->f = f;}void addF2(User& u) { Friend f = { "xue",20,"men" }; u.f = f;}int main() { //结构体数组 /*User arru[5]; arru[0] = { "pter",20,"men" }; cout << arru[0].name << endl;*/ //结构体指针 /* User u = { "pter",20,"men" }; User *p = &u; cout << p->name << endl;*/ //嵌套结构体 /* User u; Friend f = { "pter",20,"men" }; u = { "hello",20,"men",f }; cout << u.name << " " << u.f.name << endl;*/ //***结构体做函数的参数*** //地址传递 cout << "地址传递" << endl; User u = { "pter",20,"men" }; cout << "myname:" << u.name << " fname:" << u.f.name << endl; addFriend(&u); cout << "myname:" << u.name << " fname:" << u.f.name << endl; //引用传递 cout << "引用传递" << endl; User u2 = { "ppt",20,"men" }; cout << "myname:" << u2.name << " fname:" << u2.f.name << endl; addF2(u2); cout << "myname:" << u2.name << " fname:" << u2.f.name << endl;} 结构体的const
#include#include using namespace std;struct User { const string name;//感觉像Java private const int age; const string sex;};void printInfo(const User* u) { cout << u->name<<" " << u->age <<" " < sex << endl;}int main() { User u = { "肥学",20,"男" }; printInfo(&u);} 案例练习
给每位老师分配几位学生
#include#include #include using namespace std;typedef struct Student { string name; int age; string sex;}S;typedef struct Teacher { string name; int age; string sex; S sarray[5];}T;void assignment(T* tarray,int len) { for (int i = 0; i < len; i++) { cout << "请输入老师姓名:" ; cin >> tarray[i].name; cout << "请输入年龄:"; cin >> tarray[i].age; cout << "请输入性别:"; cin >> tarray[i].sex; for (int s = 0; s < 2; s++) {//为了操作方便就输入两位学生信息 cout << "请输入学生姓名:"; cin >> tarray[i].sarray[s].name; //cout << "请输入学生年龄:"; //cin >> tarray[i].sarray[s].age; tarray[i].sarray[s].age = rand() % 18 + 8; cout << "请输入学生性别:"; cin >> tarray[i].sarray[s].sex; } }}void printInfo(T* tarray,int tnum) { cout << "信息展示:\n" << endl; for (int i = 0; i < tnum; i++) { cout << "老师姓名:"< 案例练习2
对每个员工的工资进赋值,然后对工资排序输出
#include#include #include using namespace std;struct staff { string name; int salary;};void initStaff(staff* sarray,int len) { string nameseed = "ABCDE"; for (int i = 0; i < len; i++) { int r = rand() % 10000 + 3000; string n = "user_"; string name = n + nameseed[i]; staff s = {name,r }; sarray[i] = s; }}void printInfo(staff* sarray, int len) { for (int i = 0; i < len; i++) { cout << "姓名:" << sarray[i].name << " 工资:" << sarray[i].salary << endl; }}void sortSalary(staff* sarray,int len) { for (int i = len-1; i >0; i--) { for (int j = len-1; j >= len-i; j--) { staff maxsalary; if (sarray[j].salary > sarray[j - 1].salary) { maxsalary = sarray[j]; sarray[j] = sarray[j - 1]; sarray[j - 1] = maxsalary; } } }}int main() { srand((unsigned int)time(NULL)); staff sarray[5]; int snum = (sizeof(sarray)) / sizeof(sarray[0]); initStaff(sarray, snum); printInfo(sarray, snum); sortSalary(sarray, snum); cout << "\n\n按工资排序后:\n" << endl; printInfo(sarray, snum);} 到此,关于"C++结构体怎么创建和初始化"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
结构
姓名
学生
C++
工资
学习
信息
地址
更多
案例
老师
帮助
排序
实用
接下来
函数
参数
员工
感觉
指针
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是刀片式服务器
数据库查询sql实验
金碟 无效的服务器
excel找一个重复数据库
中小学生家庭教育易网络安全
网络安全课题立项
运动打卡app数据库设计
服务器cpu装机视频
华为首位全球网络安全官
数据库更新某列的语句
病毒库预发布服务器
学校网络安全职能部门
mysql数据库语句
javaweb访问数据库
四川超频服务器销售价格
网络安全励志
dw站点服务器设置
北京it软件开发免费咨询
数据库导入到mysql里
全国网络安全和信息化法规
日期数据库设置成什么类型
额尔古纳市天气预报软件开发
蔡甸区全过程网络安全维护报价表
青岛互联网软件开发
数据库表结构图怎么画
幼儿园网络安全展板版面布置
罗克佳华数据库
1.72我的世界服务器
服务器开发与软件开发
网络安全励志