、结构和结构指针作为函数返回值 (1)返回结构的函数说明形式: 存储类型区分符 struct类型区分符函数名(参数表) (2)返回结构指针的函数说明形式: 存储类型区分符 struct类型区分符函数名(参数表) 程序举例 首先定义一表示复数的结构类型 /≈comp.h struct complex i float re: 实部 float im;虚部
二、结构和结构指针作为函数返回值 (1)返回结构的函数说明形式: 存储类型区分符 struct 类型区分符 函数名(参数表) (2)返回结构指针的函数说明形式: 存储类型区分符 struct 类型区分符 *函数名(参数表) 三、程序举例 首先定义一表示复数的结构类型: /*comp.h*/ struct complex { float re; /*实部*/ float im; /*虚部*/ }
例1:编写一函数 makecomp,生成一复数数据 include“eomp.h” struct complex makecomp(float x, float y) struct complex z; zre-x ZIm=y return mainO i struct complex compl, comp2; float x1, x2,y1, y2 scanf(%f%%%r”,&x1,&y1,&x2,&y2); compl=makecomp(xl,yD); comp2=makecomp(x2, y2)
例1:编写一函数makecomp,生成一复数数据 #include “comp.h” struct complex makecomp(float x,float y) { struct complex z; z.re=x; z.im=y; return z; } main() { struct complex comp1,comp2; float x1,x2,y1,y2; scanf(“%f%f%f%f”,&x1,&y1,&x2,&y2); comp1=makecomp(x1,y1); comp2=makecomp(x2,y2); }
例2:编写一函数 addcon,计算两复数之和 include“ comp. h struct complex *addcomp(struct complex x, struct complex y) i static struct complex z; zre=xretyre zim=x im+vim: return &z maino struct complex comp1=(1.0, 2.0), comp2= 3.0, 4.0, p; =addcomp(compl, comp2); printf(result: re%. 2f It im%.2fn',p-re, p->im);
例2:编写一函数addcomp,计算两复数之和。 #include “comp.h” struct complex *addcomp(struct complex x, struct complex y) { static struct complex z; z.re=x.re+y.re; z.im=x.im+y.im; return &z; } main() { struct complex comp1={1.0,2.0},comp2={3.0,4.0},*p; p=addcomp(comp1,comp2); printf(“result: re=%.2f \t im=%.2f\n”,p->re,p->im); }
例2:编写一函数 addcon,计算两复数之和 include“ comp. h struct complex *addcomp(struct complex *x, struct complex i static struct complex z; Zre-x->re+y->re; Zim=x->imty->im; return &z maino struct complex comp1=(1.0, 2.0), comp2= 3.0, 4.0, p; =addcomp(&compl, &comp2) printf(result: re%. 2f It im%.2fn',p-re, p->im);
例2:编写一函数addcomp,计算两复数之和。 #include “comp.h” struct complex *addcomp(struct complex *x, struct complex *y) { static struct complex z; z.re=x->re+y->re; z.im=x->im+y->im; return &z; } main() { struct complex comp1={1.0,2.0},comp2={3.0,4.0},*p; p=addcomp(&comp1,&comp2); printf(“result: re=%.2f \t im=%.2f\n”,p->re,p->im); }
84结构数组 结构数组是以同类型的结构变量为元素的数组。可用于学 生登记表、职工登记表、图书目录商品销售清单、库存清单等 二维表格数据。 、结构数组的说明、引用和初始化 例:说明一个具有30个元素的学生结构数组。 struct stud{/定义一个能表示学生属性的结构类型*/ long num; char name[10; char sex short age; float score 3 students 301;
8.4 结构数组 结构数组是以同类型的结构变量为元素的数组。可用于学 生登记表、职工登记表、图书目录商品销售清单、库存清单等 二维表格数据。 一、结构数组的说明、引用和初始化 例:说明一个具有30个元素的学生结构数组。 struct stud{ /*定义一个能表示学生属性的结构类型*/ long num; char name[10]; char sex; short age; float score; } students[30];