1.本章学习总结
1.1 学习内容总结
1.结构的定义
结构类型定义的一般形式为:
struct 结构名{
类型名 结构成员1;
类型名 结构成员2;
······
类型名 结构成员n;
};
例如:
```
struct USER
{
char account[100];
char password[200];
};
```
2.结构的嵌套定义
先定义成员的结构类型,再定义主结构类型。
例如:
```
struct address{
char city[10];
char street[20];
};
struct nest_student{
int num;
char name[10];
struct address addr;
};
```
3.结构变量的定义和初始化
(1)单独定义
先定义一个结构类型,再定义这种结构类型的变量。
(2)混合定义
在定义结构类型的同时定义结构变量。
一般形式为:
struct 结构名{
类型名 结构成员1;
类型名 结构成员2;
······
类型名 结构成员n;
}结构变量名表;
例如:
```
struct student {
int num;
char name[10];
int computer,english,math;
}s1,s2;
```
(3)无类型名定义
在定义结构变量的同时省略结构名。
一般形式为:
struct {
类型名 结构成员1;
类型名 结构成员2;
······
类型名 结构成员n;
}结构变量名表;
例如:
```
struct {
int num;
char name[10];
int computer,english,math;
}s1,s2;
```
(4)初始化
结构变量也可初始化,即在定义时对其赋初值。例如:
struct student s1={101,"zhang",78,87,79};
4.结构变量的使用
(1)结构变量成员的引用
在c语言中,使用结构成员操作符“.”来引用结构成员,格式为:
结构变量名.结构成员名
注:和一般运算符混合运算时,结构成员运算符优先。
(2)结构变量的整体赋值
只有相同结构类型的变量之间才可以直接赋值。
(3)结构变量作为函数参数
特定:可以传递多个数据且参数形式较简单。
5.结构数组操作
(1)定义
与结构变量相似,例如:
struct student students [50];
(2) 初始化
定义的同时可以初始化,格式与二维数组类似。例如:
struct student students [50] = {{101,"zhang",78,87,79},{102,"wang",83,92,78}};
(3) 引用
通过使用数组下标与结构成员操作符“.”相结合的方式来实现的,一般格式为:
结构数组名 [下标].结构成员名
(4)排序做法
选择排序:
伪代码:
```
for 0 to n-1
index=i;
for j=i to n
比较数组i元素和数组index元素的大小,index=j;
交换数组元素;
end for
```
代码:
来源:https://www.cnblogs.com/201218zx/p/12045144.html