C++学习 --结构体

结构体

结构体基本概念

结构体属于自定义的数据类型, 允许用户存储不同的数据类型

结构体的定义和使用

语法: struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有三种;
· struct 结构体名 变量名
· struct 结构体名 变量名 = {成员1值,成员2值。。}
· 定义结构体时顺便创建变量

struct students
{
   //成员列表;
    string name;
    int age;
    int score;
}
//创建变量//创建变量时 struct 可以省略
struct student s1;
struct student s2 = {.......}
struct student{
	......
	......
	......
	}s3;

结构体数组

作用: 将自定义的结构体放入到数组中方便维护
语法: struct 结构体名 数组名[元素个数] = { {},{},。。}
实例:

//结构体定义
struct student
{
   //成员列表
   string name;
   int age;
   int score;
}
int main(){
   //结构体数组
   struct student arr[3] = 
   {
       {"张三",18,80},
       {"李四",19,60},
       {"王五",20,90}
   }
   return 0;
}

结构体指针

作用: 通过指针访问结构体中的成员
· 利用操作符 -> 可以通过结构体指针访问结构体属性
实例:

//结构体定义
struct student
{
   //成员列表
   string name;
   int age;
   int score;
}
int main() {
	struct students stu = {"张三",18,100}
	struct students *p = &atu;
	cout<<p->name<<endl;//输出姓名
}


结构体嵌套结构体

作用: 结构体中的成员可以是另一个结构体
实例:

//定义学生结构体
struct student
{
   string name;
   int age;
   int score;
}

//定义一个老师的结构体
struct teacher
{
   int id;
   string name;
   int age;
   struct student stu;//嵌套的结构体
}
int main(){
   teacher t;
   t.id = 10000;
   t.name = "老王";
   t.age = 50;
   t.stu.name = "小王";
   t.stu.age = 20;
   t.stu.acore = 60;
   //可以输出;
}

结构体做函数参数

实例:

//结构体做函数的参数
//将学生传入一个参数中,打印学生身上的所有信息
//创建结构体变量
struct student s;
s.name = "网三";
s.age = 18;
s.score = 90;
//值传递
void printstudnet(struct student s)
{
	cout<<s.mane<<s.age<<s.score<<endl;
}
//地址传递
void printstudent2(struct stident * p)
{
	cout<<s->name<<s->age<<s->score<<endl;
}

结构体中const使用场景

作用: 用const 来防止误操作
实例:

//通过函数来打印结构体变量信息
void printstudent(const student *s)//地址传递节省空间
//加入const 以后一旦有修改的操作就会报错;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值