版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
下面是C/C++的例子。编译测试正常。
) \9 g8 s6 l4 M6 B5 X/****************************************
0 y) u! G2 ?: l5 g3 b; q结构体变量可以直接作为函数的参数,
: B: |" p. s( Q' [; S3 m也可以作为函数的返回值。% D P9 q5 ~* | O# b/ x$ t
*****************************************/8 `# w* K# g: E( d8 X
//Filename: Struct.c" C% A3 h- a& d% l4 u; b/ Q8 z
#include<stdio.h>
$ D/ S' w' M9 E//定义一个结构体
7 I( }" X5 e p1 r* J* htypedef struct Point% E, M8 e" L h. h% I
{! W) J% Z! i) o6 J$ f
int x;
- k1 j, V! t3 |6 g! x: E8 J int y;
7 n3 P# r4 h2 r4 V- c$ X# D}Point;
/ \0 C8 G! f: b% v7 s3 E, S//使用一个结构体变量作为函数的参数
; D# _0 A1 F3 a! Cvoid Display(Point point)
* A n y/ o. ]6 j& R0 ~{
" j2 u5 \8 C, f O) q, Q3 ~, Q" Q printf("x is %d\n",point.x);$ d; {* R' X# A) t; \
printf("y is %d\n",point.y);
; b9 u8 f4 q2 h0 g' U+ G* V /*********若使用C++,则如下*************
9 @' X# A- _' j$ j: L) d std::cout<<"x is "<<point.x<<std::endl;
; R' y( s1 j* S& m' ? std::cout<<"y is "<<point.y<<std::endl;
& v1 O2 Z5 U: ?9 A3 l **************************************/$ _4 _7 Z) ^+ z6 D9 j3 T; f- w
}
* e! {9 K% }8 w8 U2 ~% d# m: Q//使用结构体变量作为函数的返回值% o' H6 H/ j; E) m
Point SetPoint(int x,int y)1 e3 r, `( o j3 `6 l5 A$ a1 H1 J
{
7 i& i8 a( `1 u! w Point point;& O: y+ h) @9 J* `$ D% b
point.x=x;: K5 ^: a- B# \
point.y=y;
4 z0 {# E7 [( Y5 b; R6 e$ e return point;& m2 C; {8 v) a: ?7 A! \& O0 I
}
& Z- u& |; h4 e+ d) T" b//主函数3 ?$ h6 S v# O8 U- G$ t2 B5 W+ j
int main(int atgc,char * argv[])
8 O7 t6 w) l _2 F$ S5 }$ C8 O{
. l1 W7 n# |. G% x1 l6 l0 I Point point;
3 [5 D0 v: O4 c* Y point=SetPoint(2,3);
t2 L6 H1 ^& P8 ]6 x Display(point);
) ?% I1 M( _, N5 y c return 0;
. y& N4 k2 s6 a1 I7 }1 ?}$ Q: i" l3 L. c. b
运行结果
8 k4 T7 F/ Z3 c% N4 c) |
* W# ^; F7 a! N( e" dx is 2
; \& c9 l9 w# y0 T" e) gy is 3 |
|