结构体数组/结构体指针/结构体嵌套结构体/结构体做函数参数/包含consat的结构体C++

1.结构体数组:

作用:将自定义的结构体放入到数组中方便维护。

语法:

 

 先定义结构体,才能定义结构体数组

例:

 

 

 

 

 

 


 

2.结构体指针:

作用:通过指针访问结构体中的成员

(可以利用操作符->通过结构体指针访问结构体属性)

 

 

 

 注意指针的数据类型。。。

 


3.结构体嵌套结构体:

 

 

 

图中,老师的结构体内嵌套了学生的结构体。。

 

 给相应的变量赋值。


4.结构体做函数参数:

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 
 6 //定义学生结构体
 7 struct student{
 8     string name;
 9     int age;
10     int score;
11 };
12 
13 //打印学生信息
14 //1.值传递
15 void printStudent1(struct student s){
16     cout << "name:" << s.name << endl;
17     cout << "age:" << s.age << endl;
18     cout << "score:" << s.score << endl;
19 }
20 
21 //2.地址传递
22 void printStudent2(struct student * p){
23     cout << "name:" << p->name << endl;
24     cout << "age:" << p->age << endl;
25     cout << "score:" << p->score << endl;
26 }
27 
28 int main(){
29     struct student s;
30     s.name = "你好";
31     s.age = 20;
32     s.score = 60;
33     
34     printStudent1(s);
35     printStudent2(&s);
36     
37 
38     system("pause");
39     return 0;
40 }

注意值传递和地址传递中,形参和实参的问题。。。

采用地址传递的原因时,一个地址只占四个字节,可以减少内存的开销,提高运行效率。。


5.包含consat的结构体:

作用:防误操作

主要用于函数的地址传递时,传递的值在函数体内被修改

 

 采用指针是为了节约空间。

 如图,形参启用了const后,s->age = 150;变得不再可用。

 

posted @ 2022-10-31 10:31  Morning枫  阅读(93)  评论(0编辑  收藏  举报