C语言结构体与共用体讲解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言结构体与共用体讲解

第11章 结构体与共用体 一、结构体的概念及使用 二、结构体变量、数组和指针 三、链表的概念及基本操作 四、11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型 第11章 结构体与共用体 一、概述(结构体类型的声明) 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体 -------自定义数据类型 结构体类型定义 二、定义结构体类型变量的方法 1、先声明结构体类型,再定义结构体变量 一般形式: 2、声明结构体类型的同时定义结构体变量 一般形式: 四、 结构体变量的引用 引用规则、引用方式、赋值或存储运算、算术运算、引用成员地址 五、结构体变量的初始化 六、结构体数组 结构体数组的定义 三种形式: 结构体数组初始化 typedef定义类型步骤 按定义变量方法先写出定义体 如 int i; 将变量名换成新类型名 如 int INTEGER; 最前面加typedef 如 typedef int INTEGER; 用新类型名定义变量 如 INTEGER i,j; 在TC3.0环境下,typedef int Num[100];则语句Num a;下面哪项是等价的( )。 A)int a; B)int Num[100]; C)int a[100]; D)int Num; 11.6 结构体和指针 指向结构体变量的指针 定义形式:struct 结构体名 *结构体指针名; 例 struct student *p; 指向结构体数组的指针 用指向结构体的指针作函数参数 用结构体变量的成员作参数----值传递 用指向结构体变量或数组的指针作参数----地址传递 用结构体变量作参数---- 值传递,效率低 格式2:calloc(n, size) 功能:与 malloc(size) 相同,区别是分配n个长度为size 的连续空间。可以为一为数组开辟动态存储空间。 四、编程题(每小题10分,共 40 分) 1.用起泡法对10个整数排序(从小到大)。 2.编写一个实现两个整型数据交换的函数,其函数原型为:void swap( int *x , int *y );并在主函数中调用该函数,将用户从键盘输入的a,b,c三个整型数据从小到大排序。 2’. 编写一个实现两个整型数据交换的函数,其函数原型为:void swap(float *pa ,float *pb );并在主函数中调用该函数,将用户从键盘输入的a,b,c,d四个float型数据从大到小排序。 四、编程题(每小题10分,共 40 分) 3.定义一个整型二维数组a[3][4],使用一个双重for循环,为数组元素赋值(要求二维数组中各个元素的值由键盘输入),再使用一个双重for循环将数组中所有元素的值置为100,该二维数组。 3’. 编写函数“void fun(int *p,int n,int *even)”,函数的功能是求出数组中所有偶数之和。利用指针even得到偶数之和。编写的主函数中,使用scanf为数组a赋初值,并通过调用函数“fun()”后,输出偶数之和。 4. 编一程序,用结构体(包括学号,姓名,三门成绩,总成绩)处理学生的期末考试成绩,从键盘接受40名学生的数据(学号、姓名、三门成绩)并存放在结构体数组grade中,每个学生的总成绩可由计算得到,在屏幕上输出grade数组中的全部数据后,再将grade数组中的这些数据存到名为ji11_1的文本文件中,然后关闭该文件。 程序中要考虑以下几种情况: P0是要插入点,p1首先指向头结点。 是空表:将该结点插入,作为头结点。 非空表:插入位置是头结点:head?p0, p0? next ? p1 插入位置是非头,非尾结点(p2后,p1前): p2? next ? p0, p0? next ? p1 插入位置是尾结点: p1? next ?p0, p0? next ?NULL struct student *insert (struct student *head, struct student *stud) { struct student *p0, *p1, *p2; p1=head; p0=stud; if (head= =NULL) {head =p0;

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档