- 1
- 0
- 约5.67千字
- 约 25页
- 2020-02-06 发布于辽宁
- 举报
第七章 结构体与联合体应用; 本章知识体系;任务7.1 结构体变量与结构体数组编程;2、既然结构体是一种数据类型,那么就可以用它来定义变量,说明结构变量有以下三种方法。
1)先定义结构,再说明结构变量。如:
struct stu {
int num;
char name[20];
char sex;
float score;
};
struct stu boy1,boy2;
说明了两个变量boy1和boy2为stu结构类型。也可以用宏定义使一个符号常量来表示一个结构类型,例如:
#define STU struct stu STU{
int num;
char name[20];
char sex;
float score;};
STU boy1,boy2;;2)在定义结构类型的同时说明结构变量。例如:
struct stu{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
3)直接说明结构变量。例如:
struct{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
第三种方法与第二种方法的区别在于第三种方法中省去了结构名,而直接给出结构变量。三种方法中说明的boy1,boy2变量都具有相同的结构。说明了boy1,boy2变量为stu类型后,即可向这两个变量中的各个成员赋值。在上述stu结构定义中,所有的成员都是基本数据类型或数组类型。成员也可以又是一个结构,即构成了嵌套的结构。;3、在程序中使用结构体变量时,除了允许具有相同类型的结构体变量进行“整体”赋值操作以外,一般对结构体变量的使用:如赋值、输入、输出、运算等都是通过结构体变量的成员来实现的。结构体变量成员的一般形式为:
结构体变量名.成员名
4、对结构体变量进行初始化时,将数据按照结构体中成员的顺序依次放在一对花括号中。初始化时,可以只给前面的若干个成员赋初值,对于后面末赋初值的成员,系统会自动赋初值,数值型数据赋初值为0,字符型数据赋初值为’\0’。
5、结构体数组的每一个元素都是具有相同结构体类型的变量。定义结构体数组和定义结构体变量相似,也有3种方式,只需说明它为数组类型即可。
6、结构体数组初始化时可以将每个元素中成员的初值依次放在一对花括号内,以便区分各个元素。
7、结构体类型的指针变量是指向一个结构体变量的指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。结构体指针变量的一般定义形式为:
struct 结构体名 *结构体指针变量名 ;8、通过结构体指针变量,可以访问结构体变量的各个成员,访问结构体成员的方法有以下两种:
(1) (*结构体指针变量).成员名
(2) 结构体指针变量-成员名;【任务要求】
1.掌握结构体类型的定义与应用。
2.掌握结构体变量的定义与应用。
3.掌握结构体数组的定义与应用。
【任务内容】
1.阅读以下程序,先分析程序的运行结果,再创建一个文件名为7-1.cpp的文件,编写程序,上机验证。
#include stdio.h
struct student //结构体定义
{
int NL; //结构体成员NL(年龄)
char XB; //结构体成员XB(学号)
double CJ; //结构体成员CJ(成绩)
}x,y ; //定义结构体变量x,y
void main( )
{
x.NL=21; //结构体变量成员x.NL赋值
x.XB=1; //结构体变量成员x.XB赋值
x.CJ=45.68; //结构体变量成员x.CJ赋值
y.NL=22; //结构体变量成员y.NL赋值
y.XB=2; //结构体变量成员y.XB赋值
y.CJ=89.36; //结构体变量成员y.CJ赋值
printf(x:%d,%c,%lf\n, x.NL, x.XB, x.CJ ); //输出结构体变量成员的值
printf(y:%d,%c,%lf\n, y.NL, y.XB, y.CJ );
};2.阅读以下程序,先分析程序的运行结果,再创建一个文件名为7-2.cpp的文件,编写程序,上机验证。
#includestdio.h
#define N 5
struct //定义了一个无名结构体
{
int num;
int con;
}a[N]; //定义了结构体数组a[N]
原创力文档

文档评论(0)