Toriyung

导航

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关键字可省略
};

 

结构体和类:
  现在的结构体基本和类一样,同样支持变量和函数方法的封装,区别在于默认权限不同(结构体默认共有,类默认私有),但是对于大型的封装一般使用类,结构体只当作轻量级的类

 

posted on 2022-08-04 16:16  Toriyung  阅读(40)  评论(0编辑  收藏  举报