二级C语言讲稿(下).ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级C语言讲稿(下)

注意: 当定义了一个有固定地址的结构体变量时,第二次调用 必须重新开辟一个内存区,将其起始地址经强制类型转换 后赋给结构体变量;否则,会把第一个结点数据冲掉,无 法开辟两个结点。stu=(struct student *)malloc(LEN) 8.共用体 1)共用体的概念 几种不同类型的变量存放到同一段内存单元中。 (P204 图14.9) 定义的一般形式: union 共用体名 {成员表列 }变量表列; 例如: uunion data {int i; char ch; float f; }a,b,c; 2)共用体变量的引用方式 先定义再引用,只能引用共用体变量的成员(如:a.i , b.f) 不能引用共用体变量(如:printf(%d,a);) 应写成printf(%d,a.i);或printf(%c,a.c); 3)共用体类型数据的特点 使用共用体类型时注意: (1)同一个内存段可以用来存放几种不同类型的成员, 但在每一 瞬时只能存放其中一种, 每一瞬时只有一个成员起作用。 (2)共用体变量中起作用的成员是最后一次存放的成员。因此 在引用共用体变量时应十分注意当前存放在共用体中的究 竟是哪个成员。 (3)共用体变量的地址和它的各成员的地址都是同一地址。 如:a、a.i、a.c、a.f都是同一地址值。 (4)不能对共用体变量名赋值, 或引用变量名来得到一个值,不 在定义时初始化。 (5)不能把共用体变量作为函数参数, 也不能使函数带回共用体 变量,但可使用指向共用体变量的指针。 union data {int i; char ch; }; main() {union data ii; union data *p; p=ii; ii.ch=A; ii.i=98; printf(%d\n,(*p).i); } (6)共用体类型可以出现在结构体类型定义中, 也可以定义共用 体数组。反之,结构体类型也可以出现在共用体类型定义中, 数组也可以作为共用体的成员。 9.用typedef定义类型 用typedef声明新的类型名来代替已有的类型名。 如: typedef int INTEGER; typedef float REAL; 用INTEGER、REAL分别代表int 、float两种类型。 int a,b; float c,d; INTEGER a,b; REAL c,d; 等价 typedef int COUNT; COUNT i,j; 一个整型变量用来计数。 知道变量i,j的含义。 声明结构体类型: typedef struct {int month; int day; int year; }DATA; 声明新类型名DATA,用DATA定义变量: DATA birthday; (不要写成 struct DATA birthday;) DATA *p; (p为指向此结构体类型数据的指针) 还可以: (1)typedef int NUM[100]; (声明NUM为整型数组类型) NUM n; (定义n为整型数组变量) (2)typedef char *STRING; (声明STRING为字符指针类型) STRING p,s[10]; (p为字符指针变量,s为指针数组) (3) typedef int (*POINTER)() (声明POINTER为指向函数的指针类型,该函数返回整型值) POINTER p1, p2; (p1,p2为POINTER类型的指针变量) 说明: (1)用typedef可以声明各种类型名,但不能用来定义变量。 但声明数组类型、字符串类型比较方便。 int a[10],b[10],c[10],d[10]; 与 typedef int ARR[10]; ARR a,b,c,d; 等价 同样可以定义字符串类型、指针类型等 (2)用typedef只是对已经存在的类型增加一个类型名,没有 创造新的类型。 (3)typedef和#de

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档