C++结构体怎么创建和初始化
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍"C++结构体怎么创建和初始化",在日常操作中,相信很多人在C++结构体怎么创建和初始化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++结构体怎么创
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
监狱网络安全管理岗位职责
2021年网络安全论坛北京
定制软件开发要求15日上线
软件开发团队的职务有哪些
彭泽软件开发项目管理
无门槛网络技术自学
网络安全测试的规定
浪潮服务器默认管理
外企软件开发高管工资
软件开发做男朋友怎么样
杭州市软件开发人天报价标准
服务器进入后怎么设置记住密码
吉林方便软件开发商家
网络安全宣传周特色方案
jeesite4数据库
安卓数据库添加多个表
甘肃陇南网络安全工作
网络安全知识小课堂漫画
数据库原理中的关系名词解释
网络安全教育主题活动总结
cf最有钱服务器
网络安全龙头美亚柏
怎么避免办公室网络安全
数据库分区的原理
巅峰战舰数据库2020
gs430服务器
网络安全工程师做什么
软件开发编辑工具
服务器 桌面管理
济宁联想服务器代理客服电话