第10章结构与联合.pptVIP

  • 6
  • 0
  • 约1.96万字
  • 约 60页
  • 2017-03-04 发布于天津
  • 举报
第10章结构与联合

第10章 结构与联合 10.5 结构类型作为函数的参数和返回值 目录 数据类型为结构类型的函数参数,称为结构类型参数,亦简称结构参数。 结构参数和与之成员类型一致的多个参数,其参数传递效果一样的。 结构类型可以直接表示多个结构成员之间实际相互联系之意义。这也是采用结构参数之意义所在。 例如,对于一个物理量而言,不仅有大小,还有量纲,下面的结构声明描述有大小和量纲的结构类型。 struct motion{ double size; /* 物理量的大小 */ char dimension[12]; /* 物理量的量纲 */ }; 10.5.1  结构类型作为函数的参数 返回值类型为结构类型的函数,称为结构类型函数,亦简称结构函数。 结构函数之返回值,除了可以直接表示返回值的多个结构成员之间实际相互联系之意义之外,可以直接返回不同类型的多个值。 struct motion{ double size; /* 物理量的大小 */ char dimension[12]; /* 物理量的量纲 */ }; struct motion add_motion(struct motion u,struct motion v){ … }; 例如,可以定义参数和返回值均为结构类型 struct motion的函数add_motion,实现对于物理量的加法运算。 10.5.2  结构类型作为函数的返回值 10.5.3  结构类型指针作为函数的参数或返回值 返回值类型为结构类型指针的函数,称为结构类型指针函数,亦简称结构指针函数。 数据类型为结构类型指针的函数参数,称为结构类型指针参数,亦简称结构指针参数。 结构指针参数,其作用与好处与其它类型指针一致。 struct motion{ double size; /* 物理量的大小 */ char dimension[12]; /* 物理量的量纲 */ }; struct motion * add_pmotion(struct motion * u,struct motion * v){ … }; 例如,可以定义参数和返回值均为结构指针struct motion *的函数add_pmotion,实现对于物理量的加法运算。 struct motion *add_pmotion(struct motion *pu,struct motion *pv){ static struct motion a; if(!cmp_dimension(pu-dimension,(*pv).dimension)){ a.size=(*pu).size+pv-size; strcpy(a.dimension,pu-dimension); }else{ printf(dimension of the member is conflicting! cant adding ... \n); a.size=0; strcpy(a.dimension,); } return a; } 对于物理量的加法运算之函数实现(详见例10.7 )。 系统串函数strcopy()功能是串赋值运算 自定义串函数cmp_dimension()功能是串比较: 如果两个物理量的量纲相同,返回0;否则返回非0 10.6 结构数组 目录 数组元素类型为结构类型的数组,称为结构类型数组,亦简称结构数组。 结构数组是可以存储一组结构类型相同的数据之数据类型,其中该组数据构成具有实际应用意义之数据集。如,通信录、登记表、成绩单、销售表和库存表等。 10.6.1  结构数组的声明及初始化 结构数组的声明及初始化,除了数组元素声明为结构类型之外,其它与数组声明完全一致。 82 80 89 80 91 85 88 数据结构 90 85 82 79 90 75 78 操作系统 80 88 92 尹文甲 060107 70 90 88 吴 磊 060106 91 85 90 桂 娟 060105 80 90 85 梁 丹 060104 75 80 86 于红兵 060103 90 95 80 叶慧敏 060102 89 90 95 白 月 060101

文档评论(0)

1亿VIP精品文档

相关文档