第11章:数组,结构体,共同体(数组已经讲了,

合集下载

C#程序设计 第11章 结构体、联合体与位运算

C#程序设计  第11章  结构体、联合体与位运算

第11章结构体、联合体与位运算本章介绍结构体、联合体及枚举类型等三种新的构造型数据类型以及位运算的基本方法,包括结构体的含义;结构体类型变量的定义、引用及初始化方法;结构体数组的定义和数组元素的引用;结构体类型指针的概念及链表的基本操作方法;联合体的含义;联合体类型变量的定义方法;枚举类型的定义; TYPEDEF的作用和位运算的基本方法等。

11.1 结构体类型通过前面有关章节的学习,我们认识了整型、实型、字符型等C语言的基本数据类型,也了解了数组这样一种构造型的数据结构,它可以包含一组同一类型的元素。

但仅有这些数据类型是不够的。

在实际问题中,有时需要将不同类型的数据组合成一个有机的整体,以便于引用。

例如,在新生入学登记表中,一个学生的学号、姓名、性别、年龄、总分等,它们属于同一个处理对象,却又具有不同的数据类型。

如图11-1。

每增加、删减或查阅一个学生记录,都需要处理这个学生的学号、姓名、性别、年龄、总分等数据,因此,有必要把一个学生的这些数据定义成一个整体。

图11-1虽然数组作为一个整体可用来处理一组相关的数据,但不足的是,一个数组只能按序组织一批相同类型的数据。

对于一组不同类型的数据,显然不能用一个数组来存放,因为数组中各元素的类型和长度都必须一致。

为了解决这个问题,C语言中给出了另一种构造数据类型——“结构体”。

11.1.1 结构体类型与结构体变量结构体是一种构造类型,它由若干“成员”组成。

每一个成员可以是一个基本数据类型或者又是一个构造类型。

结构体既然是一种构造而成的数据类型,那么在使用之前必须先定义它,如同在调用函数之前要先定义或声明一样。

定义一个结构体类型的一般形式为:struct 结构体名{ 成员1 类型1;成员2 类型2;...成员n 类型n;};“结构体”这个词是根据英文单词structure译出的。

结构体中的每个成员均须作类型说明,成员名的命名应符合标识符的书写规定,成员名可以与程序中的变量名同名,二者不代表同一对象,互不干扰。

C语言第11章结构体

C语言第11章结构体

29
【例】30张选票,对三名侯选人之一投票选举,输 入得票人名字,按名字计数,输出最后选举结果。 #include "stdio.h" #define N 30 struct person { char name[20]; int count; };
Li
0 Zhang 0 Wang 0
led[0].name
第十一章 结构体与பைடு நூலகம்用体
本章目标
1.理解结构体,共用体的数据类型
2.学会定义结构体、共用体的数据类型 的变量 3.能够正确使用结构体、共用体的成员
§11.1
已了解的数据类型:
引言
整型 浮点型 字符型 数组
简单数据类型
用户定义的数据类型
特点:所有的元素都是同一种类型
指针型 存在的问题:难以处理较复杂的数据
18
圆点运算符
引用形式:结构体变量名 . 成员名 其中:成员运算符’ . ‟ : 一级,自左而右;
stu1.num 引用结构体变量stu1的num成员; 引用stu1的name成员(字符指针); [i] 引用name成员的第i个元素; stu1.birthday.y 只能对最低级成员进行引用;
二、定义完结构体后,定义结构变量并初始化 struct student x2={0002, "Li Ming ", 85.5};
16
§11.4 访问结构成员
访问结构变量实质上是引用其成员 有两种运算符可访问结构成员
17
struct date { int m; int d; iny y; }; struct student { long num; char name[20]; char sex; struct date birthday; float score; char tel[15]; } stu1, stu2;

第11章 结构体与共用休

第11章   结构体与共用休

定义结构体类型的同时定义结构体变量
一般形式:
struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列;
例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
num
25B
name sex age num
name sex age
stu[0]
stu[1]
结构体数组初始化
分行初始化: 结构体数组引用 顺序初始化: struct student struct student 引用方式: 结构体数组名[下标].成员名 { int num; 例 { int student struct num; 例 struct num; char { char name[20]; int name[20]; stu[1].age++; struct student { char num; int sex; char sex; name[20]; int age; num; {char name[20]; int int age; char sex; }; char sex; }; int char name[20]; age; struct student stu[ ]={{100,“WangLin”,„M‟,20, int char sex; age; struct student stu[ ]={100,“Wang Lin”,„M‟,20}, }stu[ ]={{……},{……},{……}}; {101,“LiGang”,„M‟,19, int age; }stu[ ]={{……},{……},{……}}; 101,“Li Gang”,„M‟,19}, strcpy(stu[0].name,”ZhaoDa”); {110,“LiuYan”,„F‟,19}; }str[3]; 110,“Liu Yan”,„域

《C语言程序设计》课程教学大纲

《C语言程序设计》课程教学大纲

《C语言程序设计》课程教学大纲一、课程任务:1、课程性质:《C语言程序设计》是专业基础课,是数据结构、操作系统、面向对象程序设计等课程的前导课程,也是一门实践性很强的课程。

2、主要内容:C语言程序设计初步,算法的基本概念,常量、变量、运算符与表达式,程序控制结构,函数,编译预处理,数组,指针,结构体与共用体,位运算及文件等。

3、基本要求:通过本课程的学习,使学生了解算法的基本概念,能够比较熟练地掌握C语言的语法规则及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,并初步积累编程经验,会根据算法编制相应的程序,并初步掌握软件开发过程的基本技巧,同时也为后继课程的学习打下坚实的基础。

二、教学内容第1章C程序设计基本知识(理论2学时,实践2学时)1.教学目的与要求:1)了解C语言的背景2)掌握C语言程序的结构3)领会C语言程序设计的风格2.教学内容:1)C程序介绍2)C程序的基本结构3)基本输入和输出方法4)C程序的上机步骤5)C程序的运行环境3.重点:1)C程序的基本结构2)基本输入和输出方法3)C程序的上机步骤4.教学难点:1)基本输入和输出方法2)C程序的上机步骤5.主要教学环节的组织:结合上机掌握C语言的运行环境,并运行一些简单的C程序6.实验初识Visual C++6.0环境及运行C( 2学时)目的和要求:1)熟练掌握在Visual C++ 6.0 IDE中创建Win32控制台应用程序的操作技能。

包括:源程序的编辑、编译、连接和执行操作2)熟练掌握项目文件的布局。

包括:新建工程、源程序及可执行程序的目录文件结构。

3)基本掌握C程序的最基本框架结构,模仿示范实例完成程序的编制与运行。

4)基本掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

第2章算法及其描述(理论2学时)1.教学目的与要求:1)掌握算法的基本概念与特征2)掌握结构化程序设计的基本概念2.教学内容:1)算法的概念2)算法举例3)算法的特征4)算法的表示5)结构化程序设计方法3.重点:1)算法的概念2)N-S图3)常用算法思想。

预处理命令与结构体练习题答案

预处理命令与结构体练习题答案

第11章结构体与共用体一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)11.1 C语言结构体类型变量在程序运行期间A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中考生答案: 正确答案: B11.2 下列各数据类型不属于构造类型的是A)枚举型 B)共用型 C)结构型 D)数组型考生答案: 正确答案: A11.3 当说明一个结构体变量时系统分配给它的内存是A)各成员所需内存量的总和 B)结构中第一个成员所需内存量C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量考生答案: 正确答案: A11.4 设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名C)typedef struct 是结构体类型 D)struct 是结构体类型名考生答案: 正确答案: B11.5 已知有如下定义:struct a{char x; double y;}data,*t;,若有t=&data,则对data 中的成员的正确引用是A)(*t).data.x B)(*t).x C)t->data.x D)t.data.x 考生答案: 正确答案: B11.6 以下程序的运行结果是#include "stdio.h"main(){ struct date{ int year,month,day; } today;printf("%d\n",sizeof(struct date));}A)6 B)8 C)10 D)12考生答案: 正确答案: A11.7 设有如下定义:struck sk{ int a;float b;} data;int *p;若要使P指向data中的a域,正确的赋值语句是A)p=&a; B)p=data.a; C)p=&data.a; D)*p=data.a; 考生答案: 正确答案: C11.8 以下对结构体类型变量的定义中,不正确的是A)typedef struct aa{ int n;float m;} AA;AA tdl;B)#define AA struct aaAA { int n;float m;} tdl;C)struct{ int n;float m;} aa;struct aa tdl;D)struct{ int n;float m;} tdl;考生答案: 正确答案: C11.9 若有下面的说明和定义struct test{ int ml; char m2; float m3;union uu { char ul[5]; int u2[2];} ua;} myaa;则sizeof(struct test )的值是A)12 B)16 C)14 D)9考生答案: 正确答案: A11.10 以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40};struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};main(){ p=aa;printf("%d\n",++(p->x));}A)10 B)11 C)51 D)60考生答案: 正确答案: C11.11 有以下程序:#include <stdio.h>union pw{ int i;char ch[2];}a;main(){ a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}程序的输出结果是A)13 B)14 C)208 D)209 考生答案: 正确答案: A11.12 已知学生记录描述为:struct student{ int no;char name[20],sex;struct{ int year,month,day;} birth;};struct student s;设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是A)year=1984;month=11;day=12;B)s.year=1984;s.month=11;s.day=12;C)birth.year=1984;birth.month=11;birth.day=12;D)s.birth.year=1984;s.birth.month=11;s.birth.day=12;考生答案: 正确答案: D11.13 有如下定义struct person{char name[9];int age;};struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);考生答案: 正确答案: B11.14 下列程序的输出结果是struct abc{ int a, b, c, s; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0].a+s[1].b;printf("%d\n",t);}A)5 B)6 C)7 D)8考生答案: 正确答案: B11.15 若有下面的说明和定义,则sizeof(struct aa)的值是struct aa{ int r1; double r2; float r3;union uu{char u1[5];long u2[2];}ua;} mya;A)30 B)29 C)24 D)22考生答案: 正确答案: D11.16 有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。

结构体与共用体

结构体与共用体

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语言培训班讲课课件(全套) PPT

c语言培训班讲课课件(全套) PPT
表示“十进制整数类型”
<
>
/* This function calculates the sum of x and y */ int add(int x,int y) { int z; z=x+y; 运行结果: return(z); sum=34 }
奔腾电脑培训
第一章 C语言概述
பைடு நூலகம்
例1.3 从键盘输入两个整数,输出其中较大的数 #include <stdio.h> 声明部分,定义变量 void main() 输入:10,20 { int max(int x,int y) 输出:max = 20 int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(" max = %d",c); scanf语句中“&a”的 } 含义是“取地址” int max(int x,int y) { int z; 调用 max 函数,返回值赋给 定义 max 子函数,函数值 c if(x>y) z=x; 、形参x、y为整型 else z=y; return(z); } 通过max函数将z值带回调用处 <
枚举类型enum
指针类型 空类型void
<
定义类型typedef
奔腾电脑培训
第一章 C语言概述
§ 1.3 简单的C程序介绍
例1.1 第一个程序This is a c program . /* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 void main() 主函数 { printf(“what is you name.\n”); } 输出: What is you name. 注释

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选项错误。

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

说明
(1)用typedef可以声明各种类型名,但不能用来定义变 量。用typedef可以声明数组类型、字符串类型,使用比 较方便。 (2)用typedef只是对已经存在的类型增加一个类型名, 而没有创造新的类型。 (3)typedef与#define有相似之处。 (4)当不同源文件中用到同一类型数据时,常用typedef 声明一些数据类型,把它们单独放在一个文件中,然后 再需要用到它们的文件中用#include命令把它们包含进 来。 (5)使用typedef用利于程序的通用与移植。
f[i] = f[i-2]+f[i-1]; } for(int j=0;j<20;j++) {
NSLog(@"%d",f[j]); } //---------------------------------------[pool drain]; return 0; }
例:程序结果是什么?
int main (int argc, const char * argv[]) {
[例11.14]口袋中有红、黄、蓝、白、黑5种颜色的球各一个。每次从口 袋中先后取出3个球,问得到3种不同色的球的可能取法,输出每种排 列的情况
用typedef定义类型
除了可以直接使用C提供的标准类型名(如int、 char、float、double、long等)和自己声明的结构体、 共用体、指针、枚举类型外,还可以用typedef声明 新的类型名来代替已有的类型名。
结构体变量的初始化
和其他类型变量一样,对结构体变量可以在定 义时指定初始值。
共同体
有时需要使几种不同类型的变量存放到同一段内存 单元中。例如,可把一个整型变量、一个字符型变量、 一个实型变量放在同一地址开始的内存单元中。以上3 个变量在内存中占的字节数不同,但都从同一地址开始。 也就是使用覆盖技术,几个变量互相覆盖。这种使几个 不同的变量共占同一段内存的结构,称为“共用体”类 型的结构。
数组的初始化
对数组元素的初始化可以用以下方式实现 (1)在定义数组时对数组元素赋予初值。 (2)可以只给一部分元素赋值。
数组的引用
数组必须先定义,然后使用。 数组元素的表示形式为
数组名[下标] 下标可以是整型常量或整型表达式。
例:数组元素的引用
int main (int argc, const char * argv[]) {
人有了知识,就会具备各种分析能力, 明辨是非的能力。
所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。
”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力;
通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣;
通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。
结构体定义
声明一个结构体类型的一般形式为 struct 结构体名 {
成员列表; }; “结构体名”用作结构体类型的标志。大括弧内是该结 构体中的各个成员,由它们组成一个结构体。对各成员 都应进行类型声明,即 类型名 成员名; 成员名定名规则与变量名相同。
num 10010
结构体定义
name
sex
下标值应在已定义的数组大小的范围内。常出 现的错误是:
int a[3][4]; a[3][4]=3;
结构体
我们已介绍了基本类型(或称简单类型)的变量(如整 型、实型、字符型变量等),也介绍了一种构造类型数据 --数组,数组中的各元素是属于同一个类型的。
但是只有这些数据类型是不够的。有时需要将不同类 型的数据组合成一个有机的整体,以便于引用。这些组 合在一个整体中的数据是相互联系的。应当把它们组织 成一个组合项,在一个组合项中包含若干个类型不同的 数据项(当然也可以相同)。C语言允许用户自己指定这样 一种数据结构,它称为结构体。
NSLog(@"%d",a[i]); }
//---------------------------------------[pool drain]; return 0; }
例:程序结果是什么?
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //---------------------------------------int f[20] = {1,1}; for(int i=2;i<20;i++) {
枚举类型
如果一个变量只有几种可能的值,可以定义为 枚举类型。所谓“枚举”是指将变量的值一一列 举出来,变量的值只限于列举出来的值的范围内。
说明
(1)在C编译中,对枚举元素按常量处理,故称枚举常量。它们不是变 量,不能对它们赋值。 (2)枚举元素作为常量,它们是有值的,C语言编译按定义时的顺序使 它们的值为0,1,2,…。 (3)枚举值可以用来做判断比较。 (4)一个整数不能直接赋给一个枚举变量。
定义共用体类型变量的一般形式为 union 共用体名 {
成员表列 } 变量表列;
共同体的引用方式
只有先定义了共用体变量才能引用它。而且不 能引用共用体变量,而只能引用共用体变量中的成 员。
共同体类型数据的特点
(1)同一个内存段可以用来存放几种不同类型的成 员,但在每一瞬时只能存放其中一种,而不是同时 存放几种。也就是说,每一瞬时只有一个成员起作 用,其他成员不起作用,即不是同时都存在和起作 用。 (2)共用体变量中起作用的成员是最后一次存放的 成员,在存入一个新的成员后原有的成员就失去作 用。 (3)共用体变量的地址和它的各成员的地址都是同 一地址。
结构体变量的引用
在定义了结构体变量以后,当然可以引用这个变 量。但应遵守以下规则: (1)不能将一个结构体变量作为一个整体进行输入和 输出。 (2)如果成员本身又属一个结构体类型,则要用若干 个成员运算符,一级一级地找到最低的一级的成员。 只能对最低级的成员进行赋值或存取以及运算。 (3)对结构体变量的成员可以像普通变量一样进行各 种运算(根据其类型决定可以进行的运算)。 (4)可以引用结构体变量成员的地址,也可以引用结 构体变量的地址。
1、先声明结构体类型再定义变量名 2、在声明类型的同时定义变量 3、直接定义结构体类型变量
说明
(1)类型与变量是不同的概念,不要混同。只能对变 量赋值、存取或运算,而不能对一个类型赋值、存 取或运算。 (2)对结构体中的成员可以单独使用,它的作用与地 位相当于普通变量。 (3)成员也可以是一个结构体变量。 (4)成员名可以与程序中的变量名相同,二者不代表 同一对象。
共同体类型数据的特点
(4)不能对共用体变量名赋值,也不能企图引用变 量名来得到一个值,又不能在定义共用体变量时 对它初始化。 (5)不能把共用体变量作为函数参数,也不能使函 数带回共用体变量,但可以使用指向共用体变量 的指针。 (6)共用体类型可以出现在结构体类型定义中,也 可以定义共用体数组。反之,结构体也可以出现 在共用体类型定义中,数组也可以作为共用体的 成员。
可以用下面的方法对二维数组初始化 (1)可以将所有数据写在一个花括号内,按数组排列的顺序 对各元素赋初值。 (2)可以对部分元素赋初值。
二维数组的引用
二维数组元素的表示形式为 数组名[下标][下标]
例如a[2][3]。 下标可以是整型表达式,如a[2-1][2*2-1]。
数组元素可以出现在表达式中,也可以被赋值。 例如:b[1][2]=a[2][3]/2
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //----------------------------------------
int a[10]; for(int i=0;i<=9;i++) {
a[i]=i; } for(int i=9;i>=0;i--) {
(3)常量表达式中可以包括常量和符号常量,不能包含变 量。C语言不允许对数组的大小作动态定义,即数组的 大小不依赖于程序运行过程中变量的值。
数组定义是否合法?
int a[]; int i = 3; int a[i]; int 3d[10]; int _c[3]; int b[2+1] int i = 3; int b[i+3];
二维数组
二维数组定义的形式为 类型说明符 数组名[常量表达式][常量表达式]; 例如:float a[3][4], b[5][10];
二维数组可被看作是一种特殊的一维数组:它 的元素又是一个一维数组。
二维数组中元素排列的顺序是按行存放的。即 在内存中先顺序存放第一行的元素,再存放第二 行的元素。
二维数组的初始化
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //----------------------------------------
int a[2]={1,2,3}; for(int i=0;i<3;i++) {
NSLog(@"%i",a[i]); } //---------------------------------------[pool drain]; return 0; }
LILY
M
age
score
18
87.5
struct student {
int num; NSString *name; char sex; int age; float score; NSString *address; }ຫໍສະໝຸດ address Beijing
相关文档
最新文档