第10章 结构和共用体.pptVIP

  • 4
  • 0
  • 约 67页
  • 2016-12-05 发布于贵州
  • 举报
第3章 CGI概念和PHP程序设计基础 80- 第10章 结构体和共用体 自定义类型 类型定义符typedef typedef 类型 标识符 typedef int INTEGER; typedef int * PINT; typedef PINT * POINT; INTEGER x; PINT p; POINT pp; typedef int ARRAY[4]; ARRAY a , b , c; 结构体 简单变量(整型、字符型、实型) 数组 具有相同类型的变量组成的集合 指针 用于动态分配,参数传递 结构体 由不同类型的变量组成。 每个变量称为结构体的成员项。 这些变量在内存中占据连续的空间。便于有规则的处理,也充分体现了数据之间的内在联系。 结构体类型的定义 struct 结构体类型名 { 类型名1 成员名表1; 类型名2 成员名表2; … 类型名n 成员名表n; } struct student { char name[20]; char sex; float sc[3]; }; 结构体变量的定义 先定义好结构体类型,再定义变量 struct student { char name[20]; char sex; float sc[3]; }; struct student s , t; 定义结构类型的同时定义变量 说明一个无名结构体类型,直接进行变量的定义 struct student { char name[20]; char sex; float sc[3]; }; typedef struct student STUD; STUD s , t ; typedef struct student { char name[20]; char sex; float sc[3]; } STUD; STUD s , t ; 结构体成员项的引用 结构体变量名.成员项名 结构体变量初始化 同类型结构体变量之间的赋值 结构体数组 结构体数组初始化 指向结构体的指针 指向结构体数组的指针 向函数传递结构体变量 值传 实参:结构体变量 形参:同类型的结构体变量 地址传 实参:结构体变量的地址 形参:指向结构体变量的指针 值传 typedef struct { char name[10]; float s; }STR; main() { STR st={“G02”,87}; fun( st ); printf(“%s%f”,st.name,st.s); } fun( STR t) { strcpy(t.name,”G23”); t.s=95; } 地址传 typedef struct { char name[10]; float s; }STR; main() { STR st={“G02”,87}; fun( st ); printf(“%s%f”,st.name,st.s); } 向函数传递结构体数组 typedef struct { char name[10]; float s; }STR; main() { STR st[3]={{“G01”,87}, {“G02”,94}, {“G03”,90}}; fun(st , 3); } 返回结构体的函数 返回结构体变量地址的函数 学生记录由学号和成绩组成,N名学生的数据已在主函数中存放在结构体数组s中,编写函数fun,其功能是: 把分数最高的学生数据放在h数组中。分数最高的学生不只一个。 函数返回分数最高的学生人数。 #include stdio.h #define N 5 typedef struct{ char num[10]; int s; }STR; int fun(STR *a, STR *b) { } 某学生记录由学号、4门课成绩和平均分组成,学号和4门课成绩已在主函数中给出。编写函数fun,其功能是: 求出学生的平均分放在记录的ave成员。 请自己定义正确的形参 #define N 4 typedef struct{ char num[10]; double s[N]; double

文档评论(0)

1亿VIP精品文档

相关文档