码迷,mamicode.com
首页 > 编程语言 > 详细

全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

时间:2016-04-27 06:52:57      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

 

 

例14.2

对比向函数传递结构体数组名和向函数传递结构体变量名的区别。

 

 1 #include<stdio.h>
 2 
 3 typedef struct
 4 {
 5     int num;
 6     double mark;
 7 }REC;
 8 
 9 void sub1(REC x)
10 {
11     x.num = 23;
12     x.mark = 81.5;
13 }
14 
15 void sub2(REC y[])
16 {
17     y[0].num = 12;
18     y[0].mark = 77.5;
19 }
20 
21 main()
22 {
23     REC a = { 16,90.0 }, b[] = { 16,90.0 };
24     sub1(a);
25     printf("A)%d,%5.1lf\n", a.num, a.mark);
26     sub2(b);
27     printf("B)%d,%5.1lf\n", b[0].num, b[0].mark);
28 }

 

输出结果:

 

A)16, 90.0
B)12, 77.5
请按任意键继续. . .

 

例14.3

通过函数返回结构体类型的值。

 

 1 #include<stdio.h>
 2 
 3 typedef struct
 4 {
 5     int a;
 6     char b;
 7 }ST;
 8 
 9 ST fun(ST x)        /* 函数的返回值类型是结构体类型ST */
10 {
11     x.a = 99;
12     x.b = S;
13     return x;
14 }
15 
16 main()
17 {
18     ST y;
19     y.a = 0;
20     y.b = A;
21     printf("y.a=%d,y.b=%c\n", y.a, y.b);
22     y = fun(y);
23     printf("y.a=%d,y.b=%c\n", y.a, y.b);
24 }

 

输出结果:

 

y.a=0,y.b=A
y.a=99,y.b=S
请按任意键继续. . .

 

例14.4

通过函数的返回值返回指向结构体变量的指针。

 

 1 #include<stdio.h>
 2 
 3 typedef struct
 4 {
 5     int a;
 6     char b;
 7 }ST;
 8 
 9 ST * fun(ST x)        /* 函数的返回值类型是ST *类型 */
10 {
11     ST * px;
12     x.a = 100;
13     x.b = C;
14     px = &x;
15     return px;
16 }
17 
18 main()
19 {
20     ST y, *p;
21     y.a = 999;
22     y.b = X;
23     printf("y.a=%d y.b=%c\n", y.a, y.b);
24     p = fun(y);
25     printf("(*p ).a=%d (* p).b=%c\n", (*p).a, (*p).b);
26 }

 

输出结果:

 

y.a=999 y.b=X
(*p ).a=100 (* p).b=C
请按任意键继续. . .

 

123

全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5437341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!