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关键字可省略 };
结构体和类:
现在的结构体基本和类一样,同样支持变量和函数方法的封装,区别在于默认权限不同(结构体默认共有,类默认私有),但是对于大型的封装一般使用类,结构体只当作轻量级的类