手机版

C语言 结构体与共同体

发布时间:2021-06-07   来源:未知    
字号:

C语言

第十一章

结构体与共同体

C语言

本章要点:

掌握结构和联合类型数据的定 义方法和引用方法; 2. 了解枚举类型数据的定义方法 和引用方法。

1.

C语言

11.1 概述

有时,需将不同类型的数据组合成一个有机的

整体,以便于引用。这些数据是相互联系的。 如一个学生的有关信息:

num 10010 name Li min sex M age 18 addr Dalian

可采用结构体数据结构描述上述信息。

C语言

例如:

是类型,不是变量名

定义一个结构体类型

struct student {int num; char name[20]; char sex; int age; char addr[30]; };

的一般形式为:

struct 结构体名 {成员表列};

对各成员都要进行类型说明; 成员名定名规则与变量名同。

C语言

11.2 定义结构体类型变量的方法

方法一:先定义结构体类型再定义变量名

struct student {int num; 不能只指定一个变 char name[20]; 量为“struct型”而不 定义studet1和 指定结构体名 char sex; sudent2为 int age; struct student char addr[30]; 类型变量 }; struct student student1, student2;

C语言

有时,可用符号常量代表一个结构体类型,如:

#define STUDENT struct student STUDENT {int num; 这样,可直接用STUDENT char name[20]; 定义变量,如: char sex; STUDENT student1, student2; int age; 此时,不必再写关键字struct char addr[30]; };

C语言

方法二:在定义类型的同时定义变量,如:

struct student {int num; char name[20]; char sex; int age; char addr[30]; }student1, student2;

一般形式是: struct 结构体名 { 成员表列 }变量名表列;

C语言

方法三:直接定义结构类型变量。

其一般形式是: struct { 成员表列 }变量名表列;

此时,不出现结构体名

C语言

几点说明:

1. 类型与变量是不同概念,不要混淆; 2. 结构体中的成员,可以单独使用,其作 用与地位相当 于普通变量; 3. 成员也可以是一个结构体变量;例如: Struct student struct date {int num; {int month; char name[20]; int day; int age; int year; struct date birthday; }; }student1,student2; 4. 成员名可以与程序中的变量名相同,二者不代表同一 对象。

C语言

11.3 结构体类型变量的引用

规则:

1. 不能将一个结构体变量作为一个整体进行赋值和 输出;只能对其各个成员分别输出(引用形式为: 结构体变量名.成员名)。 错! 正确! printf(“………..”,student1); printf(“ %d”, student1.num); 输出 10010

2 .若成员本身又属一个结构体类型,只能对最低级的成员进 行赋值或存取以及运算。 如:student1.birthday.year (续)

C语言

(接上片)

3. 对成员变量可以象普通变量一样进行各种运算, 如: sumage=student1.age+student2.age; 4. 可以引用成员的地址,也可以引用结构体变量的 地址,如 输入student1.num的值 scanf(“%d”,& student1.num); printf(“%o”,&student1);

输出student1的首地址

scanf(“%d

C语言

C语言

C语言

C语言

C语言

C语言

C语言

C语言

C语言

C语言

C语言 结构体与共同体.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)