10结构体和共用体

合集下载

第10章 结构体、共用体、枚举类

第10章  结构体、共用体、枚举类

1 声明一个结构体类型的一般形式为:struct 结构体名{成员表列};如:struct student{int num;char name[20];char sex;int age;float score;char addr[30];};2 定义结构体类型变量的方法(1)先声明结构体类型再定义变量名例如:struct student student1, student2;| | |结构体类型名结构体变量名(2)在声明类型的同时定义变量这种形式的定义的一般形式为:struct 结构体名{成员表列}变量名表列;(3)直接定义结构体类型变量其一般形式为:struct{成员表列}变量名表列;即不出现结构体名。

注意:成员名可以与程序中的变量名相同,二者不代表同一对象。

3 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。

例如:scanf(″%d″,&student1.num);(输入student1.num的值)printf(″%o″,&student1);(输出student1的首地址)4 结构体数组的初始化struct student{int num;char name[20]; char sex;int age; float score; char addr[30];}stu[2]={{10101,″LiLin″,′M′,18,87.5,″103 BeijingRoad″},{10102,″Zhang Fun″,′M′,19,99,″130 Shanghai Road″}};5 指向结构体变量的指针#include <string.h>#include <stdio.h>void main(){struct student{long num;char name[20];char sex; float score;};struct student stu_1;struct student* p; p=&stu_1;stu_1.num=89101;strcpy(stu_,”LiLin”);stu_1.sex=‘M’;stu_1.score=89.5;printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,stu-1.num,,stu-1.sex,stu-1.score);printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,(*p).num,(*p).name,(*p).sex,(*p).score);}6 以下3种形式等价:结构体变量.成员名(*p).成员名p->成员名7 用指针处理链表(1)malloc函数(2) calloc函数(3) free函数其函数原型为void free(void *p);7.1 typedef struct{int n;struct{int y,m,d;}date;}PERSON;下面定义结构体数组并赋初值PERSON x[2]={1,04,10,1,2,04,12,30};PERSON x[2]={{1,04,10,1},{2,04,12,30}};PERSON x[2]={1,{04,10,1},2,{04,12,30}};7.2struct person{int id;char name[10];}per={1,"123456"};="123456"[0]='1'7.3struct sk{int n;float x;}date,*p;要使p指向date中的n域:p=(struct sk *)&date.n;8 共用体的概念使几个不同的变量共占同一段内存的结构称为“共用体”类型的结构。

C语言程序ppt课件ch10 结构体与共用体PPT文档共42页

C语言程序ppt课件ch10 结构体与共用体PPT文档共42页
C语言程序ppt课件ch10 结构体与共 用体
1、战鼓一响,法律无声。——英国 2、任何法律的根本;不,不成文法本 身就是 讲道理 ……法 律,也 ----即 明示道 理。— —爱·科 克
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特

零基础入门学习C语言课件第十章 结构体与共用体06

零基础入门学习C语言课件第十章 结构体与共用体06
enum weekday{ sun,mou,tue,wed,thu,fri,sat }; enum weekday a, b, c;
或者为:
enum weekday{ sun,mou,tue,wed,thu,fri,sat }a, b, c;
或者为:
enum { sun,mou,tue,wed,thu,fri,sat }a, b, c;
共用体变量的引用方式
只有先定义了共用体变量才能引用它,而且不 能引用共用体变量,而只能引用共用体变量中 的成员。
例如:前面定义了a、b、c为共用体变量
a.i (引用共用体变量中的整型变量i) a.ch(引用共用体变量中的字符变量ch) a.f (引用共用体变量中的实型变量f)
共用体类型数据的特点
不能把共用体变量作为函数参数,也不能使函 数带回共用体变量,但可以使用指向共用体变 量的指针
共用体类型可以出现在结构体类型定义中,也 可以定义共用体数组。反之,结构体也可以出 现在共用体类型定义中,数组也可以作为共用 体的成员。
应用情况
设有若干个人员的数据,其中有学生和教师。 学生的数据中包括:姓名、号码、性别、职 业、班级。教师的数据包括:姓名、号码、 性别、职业、职务。可以看出,学生和教师 所包含的数据是不同的。现要求把它们放在 同一表格中。
float f;
}a,b,c;
};
union data a,b,c;
共用体和结构体的比较:
结构体变量所占内存长度是各成员占的内存 长度之和。每个成员分别占有其自己的内存 单元。
共用体变量所占的内存长度等于最长的成员 的长度。
例如: 上面定义的“共用体”变量a、b、c各 占4个字节(因为一个实/整型变量占4个字 节),而不是各占4+1+4=7个字节。

专题10 结构体和共用体的概念及应用

专题10 结构体和共用体的概念及应用

4)使用typedef说明一个结构体类型,再用新类型名来定义变量(常用)
typedef { struct
typedef struct ST { struct date birthday; a; long int b; float sc[4]; char c[2]; }STREC; } NEW; // STREC是一个具体的结构体类型名,可以用它来定义相应的变量,就如int、char 则下面叙述中正确的是 一样,用它来定义变量时,就不能用struct A)以上的说明形式非法 B)ST是一个结构体类型 C)NEW是一个结构体类型 D)NEW是一个结构体变量 STREC std,pers[3],*pstd;
练习
3.以下结构体类型说明和变量定义中正确的是 [08年4月份题目] A)typedef struct {int n; char c;}REC; REC t1,t2; B)struct REC; {int n; char c;}; A REC t1,t2; C)typedef struct REC ; {int n=0; char c='A';}t1,t2; D)struct {int n;char c;}REC REC t1,t2;
练习
4.有以下程序[08年9月] C #include<stdio.h> struct st {int x,y;}data[2]={1,10,2,20}; main() { struct st *p=data; printf("%d,",p->y); printf("%d\n",(++p)->x); } 程序的运行结果是 A) 10,1 B)20,1 C) 10,2 D)20,2 5.有以下程序[08年9月] main() D { struct STU { char name[9]; char sex; double score[2];}; struct STU a={"Zhao",'m',85.0,90.0},b={"Qian",'f',95.0,92.0}; b=a; //结构体变量可以直接赋值 printf("%s,%c,%2.0f,%2.0f\n", , b.sex, b.score[0], b.score[1]); } 程序的运行结果是( ) A) Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90

结构体与共用体

结构体与共用体

4、共用体类型的变量如何赋初值,含义是什么?
不能对共用体变量名赋值,也不能在定义共用体变量时初始化。但可以用一个共用体变量为 另一个变量赋值
例:union
{ int i;
char ch;
double f;
}a={1,’a’,1.5}; ()
a=1;
()
m=a;
()
例:float x; union { int i; char ch; double f; }a,b; a.i=1; a.ch=‘a’; a.f=1.5; b=a; () x=a.f; ()
二. 枚举类型的应用
• 1.枚举类型变量的定义 ◆先定义枚举类型,再定义枚举类型变量
enum week{sun,mon,tue,wed,thu,fri,
sat};
enum week weekday,workday; ◆定义枚举类型的同时定义枚举变量 enum color {red,blue,green,black}a,b,c;
共用体类型的关键字
union 联合类型名 { 数据类型 成员名1 数据类型 成员名2
...........
数据类型 成员名n };
例:
union utype {
char ch; int i; float f; };
2、如何定义共用体类型的变量
(1)先定义类型,再定义变量,例如: union data /*共用体类型定义*/ { int i;
◆直接定义枚举变量 enum {male,female}sex1,sex2;
枚举类型变量的特点
例 enum DAY {
MON=1, TUE, WED, THU, FRI, SAT, SUN };
(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

C语言 选择题库第10章 结构体与共用体

C语言 选择题库第10章 结构体与共用体

第10章结构体与共用体1.以下叙述中错误的是()。

A) 可以通过typedef增加新的类型B) 可以用typedef将已存在的类型用一个新的名字来代表C) 用typedef定义新的类型名后,原有类型名仍有效D) 用typedef可以为各种类型起别名,但不能为变量起别名参考答案:A【解析】关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型,所以A)错误。

2.以下关于typedef的叙述错误的是A) 用typedef可以增加新类型B) typedef只是将已存在的类型用一个新的名字来代表C) 用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D) 用typedef为类型说明一个新名,通常可以增加程序的可读性参考答案:A【解析】typedef并不是增加了新类型,而是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强移植性。

所以A选项错误。

3.若有以下语句typedef struct S{ int g; char h; } T;以下叙述中正确的是A) 可用S定义结构体变量B) 可用T定义结构体变量C) S是struct 类型的变量D) T是struct S类型的变量参考答案:B【解析】本题考查typedef重新声明一种结构体类型,那么T为结构体类型,而不是结构体变量,所以B选项正确。

4.设有以下语句typedef struct TT{ char c; int a[4]; } CIN;则下面叙述中正确的是A) CIN是struct TT类型的变量B) TT是struct类型的变量C) 可以用TT定义结构体变量D) 可以用CIN定义结构体变量参考答案:D【解析】本题考查typedef重新声明一种结构体类型,其中CIN为结构体类型名,而不是结构体变量,所以D 选项正确。

5.以下叙述中错误的是A) 可以用typedef将已存在的类型用一个新的名字来代表B) 可以通过typedef增加新的类型C) 用typedef定义新的类型名后,原有类型名仍有效D) 用typedef可以为各种类型起别名,但不能为变量起别名参考答案:B【解析】本题考查typedef的用法,typedef并不是增加一种新的类型,而是对已存在的类型用一个新的名字来代表,所以B选项错误。

C语言第11讲--结构体和共用体

C语言第11讲--结构体和共用体
num a[0] a[1] a[2] name(20) score(4)
如:方式(2) 方式 struct student int score[4];}
{long num;char name[20];
结构体数组初始化
a[3]={{20030001,"zhang",89,90,91,92}, {20030002,"liu",68,69,70,71}, {20030003,"li",57,58,59,60} };
第十三讲 特殊数据类型
—— 结构体、共用体、 结构体、共用体、 枚举类型、 枚举类型、自定义类型
§11.1 结构体和共用体概述
数组可以存放一组相关的同类型数据, 数组可以存放一组相关的同类型数据,但是 一组相关的同类型数据 不能将不同类型的数据放入同一数组中。 不能将不同类型的数据放入同一数组中。 如果需要把一个学生的学号、姓名、性别、 如果需要把一个学生的学号、姓名、性别、 年龄、各门功课的考试成绩等不同类型的数 年龄、各门功课的考试成绩等不同类型的数 放在一个构造型数据类型中, 据放在一个构造型数据类型中,就需要另外 一种新的数据类型: 一种新的数据类型:结构体类型或者共用体 类型数据 数据。 类型数据。 一个结构体类型的变量中可以独立存放多种 类型的数据,一个共用体 共用体类型的变量中可以 类型的数据,一个共用体类型的变量中可以 共用同一段存储单元来存放不同类型的数据 来存放不同类型的数据。 共用同一段存储单元来存放不同类型的数据。
4
三、对结构体类型的说明
结构体类型与结构体类型变量是两个概念, 结构体类型与结构体类型变量是两个概念, 应区分结构体名与变量名。 应区分结构体名与变量名。 成员也可以是一个结构体变量。 成员也可以是一个结构体变量。

第10章结构体与共用体

第10章结构体与共用体

一般形式:
struct { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列; 用无名结构体直接定义 变量只能一次
10/31/2018
江苏海事职业技术学院-------第10章 结构体与共用体
说明:
结构体类型与结构体变量概念不同 类型:不分配内存; 变量:分配内存 类型:不能赋值、存取、运算; 变量:可以 结构体可嵌套 结构体成员名与程序中变量名可相同,不会混淆 结构体类型及变量的作用域与生存期
struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; ……………. };
合法标识符 可省:无名结构体 成员类型可以是 基本型或构造型
struct是关键字, 不能省略
10/31/2018
江苏海事职业技术学院-------第10章 结构体与共用体
num
2字节

name
20字节 1字节 2字节 4字节
10/31/2018
江苏海事职业技术学院-------第10章 结构体与共用体
10.8 共用体
共用体类型定义 定义形式:
union 共用体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. };
****类型定义不分配内存
例 union data { int i; char ch; float f; };
10/31/2018
江苏海事职业技术学院10章 结构体与共用体
用typedef定义类型
功能:用自定义名字为已有数据类型命名 类型定义简单形式: typedef type name; 例 typedef int INTEGER; 例 typedef float REAL; 例 INTEGER a,b,c; REAL f1,f2;

《结构体与共用体》课件

《结构体与共用体》课件

02
在数据结构中,结构体 可以用于实现各种复杂 的数据结构,如链表、 栈、队列等。
03
在文件处理中,结构体 可以用于存储文件的各 种信息,如文件头、文 件块等。
04
在网络编程中,结构体 可以用于存储网络协议 的各种信息,如IP地址 、端口号等。
02
结构体的创建与使用
结构体的创建
• 结构体的定义:结构体是一种自定义的数据类型,可以包含多 个不同类型的数据成员。在C语言中,使用struct关键字来定义 一个结构体。

共用体的特点
共用体类型的变量在内存中占据一段 连续的存储单元,用来存放不同类型 的数据。
共用体类型的变量可以用来存储不同 类型的数据,但在任何时刻只能存储 其中的一种类型的数据。
共用体类型的变量可以用来存储不同 类型的数据,但在任何时刻只能存储 其中的一种类型的数据。
共用体类型的变量可以用来存储不同 类型的数据,但在任何时刻只能存储 其中的一种类型的数据。
类型一致性
在共用体中,所有成员的类型必须相 同,而结构体的成员类型可以不同。
选择结构体还是共用体的考虑因素
需求
如果需要存储多个不同类型的数据并且需要保证每个数据的完整性,则选择结构体。如果 需要在相同的内存位置存储不同的数据类型,并且对数据的完整性和独立性要求不高,则 可以选择共用体以节省内存空间。
共用体的创建
定义共用体类型
使用`union`关键字定义一个共用 体类型,例如`union DataType { int i; float f; char c; }`。
创建共用体变量
使用`union DataType data;`来 创建一个名为`data`的共用体变量 。
共用体成员的访问

C语言程序设计——结构体和共用体(完整版)

C语言程序设计——结构体和共用体(完整版)

printf(“name\tage\tjob\tclass/office\n”); for(i=0;i<PN;i++) {if(body[i].job==„s‟) printf(“%s\t%d\t%3c\t%d\n”,body[i].name, body[i].age,body[i].job,body[i].units.class); else printf(“%s\t%d\t%3c\t%s\n”,body[i].name, body[i].age,body[i].job,body[i].units.office); } }
birthday num name sex age month day year addr
§12.3结构体数组
结构体数组的每一个元素都是具有相同结构类型 的结构体变量。 例:struct student {int num; char name[20]; float score; }stu[3]; 其中,定义了一个结构体数组stu,共有3个元素, 每个元素都具有struct student的结构形式。
§12.6共用体
共用体(也称为联合)也是一种构造的数据类型。 共用体是将不同类型的数据组织在一起共同占用 同一段内存的一种构造数据类型。 例如,在校学生和教师都填写以下表格: 姓名 年龄 职业 单位 其中,职业分两类:教师和学生; 而单位一栏里,学生填写班级编号(整型类型), 教师填写某系某教研室(整型类型) 。
§12.7枚举数据类型
当某些变量仅由有限个数据值组成时,通常用枚 举类型来表示。 所谓枚举是指将变量的值一一列举出来,变量的 值只限于列举出来的值的范围内。如一周只有7天, 一年只有12个月等等。
注意:枚举类型是一种基本数据类型,而不是一 种构造类型。关键字为enum。

结构体与共用体

结构体与共用体

一、结构体(structure)
C语言允许用户自己指定这样一种数据结构,即将不同类型的数据组合成一个有机的整体以便于引用。

二、共用体
使几个不同的变量共占同一段内存的结构。

三、枚举类型
1、如果一个变量只有几种可能的值,可以用此方法定义。

2、声明枚举类型用enum开头。

3、说明:(1)在C编译中,对枚举元素按常量处理;
(2)C语言编译按定义时的顺序使它们的值为0,1,2…,也可以改变枚举元素的值,在定义时由程序员指定;
(3)枚举值可以用来作判断比较;
(4)一个整数不能直接赋给一个枚举元素,只有进行强制类型转换才能赋值:workday=(enum weekday)2;
四、用typedef定义类型。

《结构体和共用体》PPT课件

《结构体和共用体》PPT课件

精选课件
13
在C语言的运算符中,取成员运算符“.”优先级最高, 故以上语句均为对引用之后的成员变量进行操作。若结构体 定义是嵌套的,则只能引用最低级的成员(用若干“.”运 算符,逐级引用到最低级)。如
stud3.birthday.year 是合法的,而
stud3.year 是非法的。
精选课件
14
2. 结构体类型变量可以整体引用来赋值。如stud2= stud1;即将变量stud1的所有成员的值一一赋给变量 stud2的各成员。结构体型变量只能对逐个成员进行输入或 输出,不可进行整体的输入输出,如:
};
有同样的地位和作分用号,不都可可少以用来定义变
量的类型。
精选课件
5
定义一个结构体类型的一般形式为: struct 结构体名
{ 类型标识符 成员1; 类型标识符 成员2; … 类型标识符 成员n;
};
成员的类型可为除该结构体类型外的任何一种类型,如 基本类型、指针类型和结构体类型。
精选课件
6
若定义结构体类型struct date如下:
10
3. 直接定义结构体类型变量,其一般形式为:
struct
{
成员表列;
}变量名表;
即不出现结构体名。如
struct
{char num[10];
char name[20];
char sex;
ቤተ መጻሕፍቲ ባይዱ
struct date birthday;
float score[3];
char tel[12];
}stud3,stud4;
结构体类型的名称
char sex;
结构体成员列表,
char birth在dasytr[u8c];t studen包t括类每型个起结作构用体的成范围内, float scorest[r3u]c;t student员和的系类统型提及供名的称标准类型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 单独引用结构体变量的成员
today.year=2004; today.time.second=15; 2. 结构体变量作为一个整体引用 nextday=today;
C Programming Language
12
10.2.2 结构体类型变量的初始化
➢ 定义时初始化:将各元素初值放在“{ }”里赋 值给变量。
struct student {int num; char name[20]; char sex; int age; }; struct student stu[3] ={{10101,"Zhang",'M',18}, {10102,"Li",'M',19}, {10103,"Wang",'F',20}};
这部分主要讲解结构体与共用体的知识,一般会有2-3个 选择题和1-2个填空题。笔试题所占分值在8分左右 本章是编写复杂程序的重要知识,属于C语言程序设计 提高部分,要求考生重点掌握结构体、共用休和用户定义类 型的概念及应用。考生应理解掌握。 但结构体是必考知识点;上机考试中考核概率极高。
C Programming Language
C Programming Language
7
结构体变量的定义
用typedef为已存在的类型定义新名字
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
typedef struct student STUD;
struct student应作为一个
整体对待,“;”号不能少!
C Progr变量的定义
一、先定义结构体类型再定义变量名形式: struct 结构体名 结构体变量名表
例:在前面已定义结构体类型struct student 则 可定义:struct student stu1,stu2; stu1,stu2即为struct student类型的变量
专题之十
结构体、共用体和用户 定义类型
西南石油大学计算机科学学院 主讲:张耀文
主要内容
考纲分析
10.1 结构体类型的定义与变量说明 10.2 结构体类型变量的引用 10.3 结构体与数组 10.4 结构体与指针 10.5 结构体与函数 10.6 链表 10.7 共用体 10.8 用typedef定义类型
但是: int *q; q=&stu1.num合法
C Programming Language
20
【例14-6】用指向结构体变量的指针来访问学生 的各项数据。
#include "string.h" struct stu {int num; char *name; char sex; float score;
C Programming Language
6
三、直接定义结构类型的变量
一般形式为: struct { 成员表列
}变量名表列;
* 不出现结构体名
struct {int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2;
10.2.1 引用 不能将一个结构体变量作为一个整体进行输入和 输出,只能对各个成员分别输入输出
➢ 例如: printf(”%d,%s,%c,%d,%f,%s\n”,student1);() 引用: student1.num=102;()
➢ 成员的引用方式为:结构体变量名. 成员名 注意:成员运算符. 在所有运算符中优先级最高
//续
22
P stu[0] P’stu[1] P”stu[2]
10101 “Zhang” ‘M’ 18 10102 “Li” ‘M’ 19 10103 “Wang” ‘F’ 20
main() /*续上页*/ { struct student *p;
printf("No. Name Sex Age\n"); for (p=stu; p<stu+3; p++)
16
结构体数组程序举例
【例10-5】计算一个班学生的三门课程的平均成 绩,并输出该班学生姓名及平均成绩。 程序见下:
#include <stdio.h> #define MAXSIZE 100 struct student { char name[16];/*学生姓名*/
int grade[3],average;/*三门成绩,平均分*/ };
};
同,同一结构体的同层成员
不可同名。
C Programming Language
3
例:定义结构体类型student
struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; };
num name sex age score addr 101 WGJ M 28 88.5 CS
}boy={102,"Zhang ping",'M',78.5},*p; void main() { p=&boy;
printf("Number=%d\nName=%s\n",boy.num,); printf("Sex=%c\nScore=%4.1f\n\n",boy.sex,boy.score); printf("Number=%d\nName=%s\n",(*p).num,(*p).name); printf("Sex=%c\nScore=%4.1f\n\n",(*p).sex,(*p).score); printf("Number=%d\nName=%s\n",p->num,p->name); printf("Sex=%c\nScore=%4.1f\n\n",p->sex,p->score); }
如:
struct student { int num;
char name[20]; char sex; int age; float score; } stu[30];
C Programming Language
14
数组各元素在内存中连 续存放,如右图所示。
C Programming Language
stu1.dirthday.month=7; stu1.dirthday.day=31; [思考以下的引用] printf(“%d%d%d”,stu1.birthday);() stu1.birthday=12, 31, 1988 ; ()
C Programming Language
10
10.2 结构体类型变量引用与初始化
C Programming Language
5
二、在定义类型的同时定义变量
一般形式为:
struct 结构体名 {
成员表列
}变量名表列;
struct student {int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2;
struct student
{int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu[3]={{101,”WGJ”,’M’,28,88.5,“CS”},
{102,”DYH”,’F’,26,88.0,”CS”},
C Programming Langu{a1ge03,”DYC”,’M’,24,78.5,”CZ”}};
形式:struct 结构体类型名 *结构体指针名 例:struct student stu1,*pst; pst=&stu1;(pst指向stu1)
结构体变量的访问形式: 结构体变量名.成员名:stu1.num=1001;
1. (*结构体指针名).成员名: (*pst).num=1001; 2. 结构体指针名->成员名: pst->num=1001; 注意:pst不能指向成员:pst=&stu1.num非法;
C Programming Language
21
10.4.2指向结构体数组的指针
[例10-7] 输出数组中各元素中各成员的值。
P stu[0] P’stu[1] P”stu[2]
C Programming Language
10101 “Zhang” ‘M’ 18 10102 “Li” ‘M’ 19 10103 “Wang” ‘F’ 20
scanf("%s",stu[i].name); printf("Enter the grades(3):"); for (j=0,s=0;j<3;j++) { scanf("%d",&stu[i].grade[j]);
s=s+stu[i].grade[j];} stu[i].average=s/3; } for(i=0;i<num;i++) printf("%-10s %4d\n",stu[i].name,stu[i].average); }
例: struct student { char name[20]; char sex; int age; float score; } stu1, stu2={“Wangwu”,’m’,20,88.5};
相关文档
最新文档