第11章节结构体与共用体.pptVIP

  • 1
  • 0
  • 约1.46万字
  • 约 70页
  • 2017-04-01 发布于四川
  • 举报
第11章节结构体与共用体

struct student { int num; char name[20]; char sex; int age; }; main ( ) { struct student stu[3]={{10101, Li Lin , M, ?}, {…}, {…}}; struct student ?p; p=stu; while (pstu+3) printf(… , p?num, p ?name, p ?sex, p ?age); } 例11.04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 内存结构如下: 注: p+1为指向下一个元素的首地址。 stu[0] p+1 p+2 ? p stu[1] stu[2] Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 用地址传送,函数中形参用指针变量,实参可用 地址量或指针 三、用指向结构体的指针作函数参数 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. struct person { char name[20]; int count; } x[3]={{“zhao”, 4}, {“qian”, 3}, {“sun”, 6}}; void prt(struct person *pp); main( ) { int i; for (i=0; i3; i++) prt(x[i]); } void prt (struct person *pp) { printf(%s, %d, pp-name, pp-count); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 运行结果: zhao, 4 qian, 3 sun, 6 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. §11.7 链表 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1. 什么是链表? ? 解决了内存分配零乱的问题 ? 解决了数组存放数据的弊端 是用指针变量将非连续的数据块连成一 个整体的一种数据结构。 一种动态分配的数据结构。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例如: Head Head: 称为表头,仅存放一个地址,无数据。 数据D Null 数据C 数据B 数据A 数据 指针 : 为数据块,又称为链表的结点,由两部分 组成,数据和指针。 数据:该结点的具体数据 指针:下一个结点的地址 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 实现方法: 2. 用指向该种类型的结构指针作为表头; 3. 每一个结点中包含同种类型的指针变量用以存放下一个结点的地址。 1. 用结构型变量表示每一个结点; Evaluation only. Created with Aspose.Slides for .NET

文档评论(0)

1亿VIP精品文档

相关文档