C++新知识点:结构体
由于之前学过python,结构体可以用类来类比着学习
定义
struct MY //Struct是关键字,MY是自己定义的结构体名 { string name; int age; float score; }my1; //my1可以在定义的时候顺便创建变量
创建结构体(三种方式)
1. 在定义中顺便创建是一种(如上面的定义)
2. 先创建,后赋值
My my2; my2.name = "toriyung"; my2.age = 23; my2.score = 99.5;
3. 创建时赋值
My my3 = {"toriyung",23,99.5};
结构体数组
其实就是存放若干个结构体的数组
MY myarr[3] = { {"toriyung",23,99.5} , {"李三",25,95} };
也可以后续补上
myarr[2].name = "狂徒张三";
结构体和指针
MY my1 = { "toriyung",24,100.0 }; MY * p = &my1; cout << p->name << endl; //指针取值 cout << *p.name << endl; //传统的指针用法
结构体嵌套
需要注意的只有:内层嵌套是已创建结构体,而不是一个定义,如下代码
struct YOU { name = "wyy"; age = 25; struct MY my3; //嵌套里面的结构体是创建好的,struct关键字可省略 };
结构体和类:
现在的结构体基本和类一样,同样支持变量和函数方法的封装,区别在于默认权限不同(结构体默认共有,类默认私有),但是对于大型的封装一般使用类,结构体只当作轻量级的类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通