结构体嵌套,指针形参,引用传参

Posted rtblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体嵌套,指针形参,引用传参相关的知识,希望对你有一定的参考价值。

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 
 6 struct Student
 7 {
 8     int s_id;
 9     string s_name;
10     int s_phonenum;
11 };
12 
13 struct Teacher
14 {
15     int m_id;
16     string m_name;
17     Student m_stu;//班长
18     Student starr[50];//班级学生
19 };
20 void showinfo1(const Teacher *ter)//指针形参,加了const修饰指针,保证该函数不修改实参的值
21 {
22     cout << "老师姓名: " << ter->m_name << endl;
23     cout << "班级1号学生的电话: " << ter->starr[0].s_phonenum << endl;
24 }
25 
26 void showinfo2( Teacher &ter)//引用传参
27 {
28     cout << "老师姓名: " << ter.m_name << endl;
29     cout << "班级1号学生的电话: " << ter.starr[0].s_phonenum << endl;
30 }
31 
32 int main()
33 {
34     Student stu = { 1,"zhangsan",1467888 };
35     Student syuarr[3] =
36     {
37         {2,"2hao同学",12222222},
38         {3,"3#tongxue",1333333},
39         {4,"4#tongxue",1444443}
40     };
41 
42     Teacher ter;
43     ter.m_id = 12;
44     ter.m_name = "wang";
45     ter.m_stu = stu;
46     ter.starr[0] = syuarr[1];
47 
48     showinfo1(&ter);
49     showinfo2(ter);
50 
51     system("pause");
52     return 0;
53 }

 

以上是关于结构体嵌套,指针形参,引用传参的主要内容,如果未能解决你的问题,请参考以下文章

疑问C++结构体(数组)指针作为函数参数,会不会修改实参的值?

C语言-结构体

c语言中返回结构体数组

C 语言关于结构体做参数传递?

C 语言结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )

C 语言结构体 ( 结构体中嵌套二级指针 | 为 结构体内的二级指针成员 分配内存 | 释放 结构体内的二级指针成员 内存 )