举例说明结构体的几个基本概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

float score;
char sex;
};
struct student stu1,stu2,ss[5],*p; //定义 4 个上述结构体类型的变量
/*
typedef struct student
{
char No[8];
char name[10];
int year;
float score;
char sex;
学号 姓名 年龄 性别 某一门课的成绩 }
二、如何定义结构体类型
为了使用结构体,第一步首先要定义一个结构体类型,这个类型类似于 int,float 等
C 的基本类型,不同的是,它是由这些基本类型构造出来的一种新类型,以满足特定场合的
需要和使用。
定义结构体类型的语法如下:
struct student
{
stu2=stu1;
//把结构体变量 stu1 赋值给 stu2
printf(“\n%f”,p->score); //通过指针输出结构体变量 stu2 的 score 分量
}
举例说明结构体的几个基本概念
绍兴文理学院 沈红卫
结构体在 C 语言中十分重要,在程序开发中十分有用。学 C 的必须掌握结构体。为让初 学者较为清晰地理解和把握结构体这部分内容,现将结构体做简明归纳。
一、什么是结构体?为什么要用结构体? 在编程过程中,经常会碰到很特殊的情况:要用若干个信息表示一个完整的对象,例 如:要编写一个班级成绩管理系统,这个系统的对象是学生,但是一个学生要被完整描述, 可能需要以下信息:学号、姓名、年龄、性别、课程成绩等,这些信息组合在一起就可以完 整准确地表示一个学生。这个时候结构体就可以粉墨登场了!即学生是由以下信息组合在一 起完整地加以表达的: 学生 {
char No[8]; //表示学号,长度不超过 8
char name[10]; //表示姓名,长度不超过 10,即 5 个汉字
char sex;
//表示性别,’M’为男性,’F’为女性
int year;
//表示年龄
float score;
//表示某门课的成绩
};
//表示定义结构体结束
有了上述定义后,就可以象 int,float 一样用来定义变量了。
};
student stu1,stu2,ss[5],*p;
*/
p=&stu1;
//p 指向结构体变量 stu1
gets(stu1.No);
scanf("%s",stu1.name);
scanf("%d",&stu1.year); stu1.score=78; fflush(stdin); // stu1.sex=getche();
scanf("%f",&(*p).score);//这也可以认为是第 3 种访问结构体类型变量的方法 fflush(stdin); scanf("%c",&stu1.sex);
stu2.year=stu1.year; stu2.year=p->year;
//通过指针变量访问结构体的 year 分量
#include <string.h> #include <conio.h> #include <stdlib.h> #include <stdio.h>
void main(void) {
//定义一个结构体类型 struct student
{
char No[8];
char name[10];
Hale Waihona Puke Baidu
int year;
三、如何定义结构体变量 定义了结构体类型后,就可以定义结构体变量了。以上述结构体类型为例,以下语句 定义了 4 个 struct student 类型的变量,分别是两个普通结构体变量,一个结构体数组, 一个结构体指针变量。 struct student stu1,stu2,ss[5],*p;
四、如何使用结构体 定义了结构体变量后,就可以象使用其他普通变量一样使用结构体变量了,只不过与 普通变量所不同的是,使用结构体变量往往是使用其中的分量。 访问分量的方法有以下两种: 结构体变量使用中用的最多也是最普通的方法是“.”运算符,我们把它称之为分量运 算符,通过它访问结构体变量(它是一个整体)中的局部(即分量)。 如果是结构体指针变量,当它指向某个结构体类型变量后,就可以使用另外一个运算 符“->”访问结构体变量中的分量了。 具体使用可以参见以下程序。 通过阅读该程序可以清晰理解和把握结构体的有关要领。
相关文档
最新文档