您的位置:首页 > 其它

结构体作为参数传入函数错误

2016-03-23 19:24 267 查看
结构体作为参数传递的错误!

如下代码:定义了一个结构体变量,将该结构体变量作为参数传递给函数func2,此时传递给函数func2的是结构体变量my_sis的拷贝,函数func2中对所传入的结构体的修改不影响main函数中定义的结构体,所修改的只是传入的拷贝的副本。

1#include <stdio.h>
2
3 struct score
4 {
5 int math;
6 int english;
7 };
8
9 struct stu
10 {
11 int age;
12 struct score core;
13 };
14
15 void fun(int b[5])
16 {
17 b[3]=8;
18 }
19 void fun2(struct stu my)
20 {
21 my.core.math = 100;
22 }
23
24 int main()
25 {
26 //int a[5]={1,2,3,4,5};
27 struct stu my_sis;
28
29 my_sis.core.math = 10;
30 my_sis.core.english = 50;
31
32 /*
33 fun(a);
34 printf("%d\n",a[3]);
35 */
36 fun2(my_sis);
37 printf("%d\n",my_sis.core.math);
38
39 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: