第9章 指针、结构体和共用体.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析 本程序中函数的功能是统计字符数组str2中的字符串在字符数组str1中出现的次数,从str1第一个字符开始判断是否等于str2的第一个字符,并且str1所指向的下一个字符是否等于str2的第二个字符,如果str1中的所有字符与str2中的所有字符相等才能累加,然后将str1指针移到下一个字符继续判断,直到str1结束为止。 union 共用体名 { 类型标识符1 成员名1; 类型标识符2 成员名2; … 类型标识符n 成员名n; }; 共用体变量的定义格式如下: union 共用体名 共用体变量名; 例如,定义一个union date类型,再将a,b,c定义为union date类型。 union date { int num; char ch; float f; }; union date a,b,c; 也可以在定义结构体类型时,直接定义共用体变量。 例如: union date { int num; char ch; float f; }a,b,c; 虽然共用体与结构体的定义格式相同,但是它们之间存在着本质区别,具体表现在结构体变量的每个成员都有固定的存储单元,因而结构体变量占有内存中的总字节数等于所有成员所占字节数的总和;而共用体中所有成员共用一段存储区域,共用体变量占有内存中的总字节数是共用体中最长成员所占的字节数。 9.3.2 共用体变量的应用方式 共用体变量的应用方式与结构体相同,先定义,后引用。 例如,给共用体变量a中的整型变量num赋值。 a.num=4; 例9.9 共用体实例。 程序 #includestdio.h int i; union number { long n; int k; char ch; char str[4]; }; 9.2 结 构 体 结构体与数组类似,也是一种复杂的数据类型。但数组中每个元素的数据类型是相同的,而结构体中元素的数据类型不同,它可以根据用户需求对每个元素数据类型进行定义。例如,在通信录中,需要记录一个人的姓名、年龄、性别等信息,这些数据需要用不同的数据类型来定义。 9.2.1 结构体的概念 定义一个结构体类型一般格式如下: struct 结构体名 { 数据类型1 成员名1; 数据类型2 成员名2; … 数据类型n 成员名n; }; 其中,struct是定义结构体类型的关键字;结构体名是一种标识符,其定义规则和变量的命名规则相同;结构体中各个成员可以是一般数据类型(如整型数据、字符数据、实型等),也可以是复杂数据类型(如数组、结构体等)。 例如: struct student { char name[20]; char sex; int age; char address[50]; char department[20]; }; 定义了一个名为student的结构体,用于描述一个学生的基本信息,包括name,sex,age,address和department 5个数据成员。 结构体的定义只是创建了一种新的数据类型,这种数据类型与整型数据int、字符数据char等类似。如果要在程序中发挥作用,需要定义一个变量,如定义一个整型变量num。 例如:int num; 同理定义一个结构体变量stu,用于描述学生的基本信息,定义如下: struct student stu; 结构体变量也可以在定义结构体时同时定义。 例如: struct student { char name[20]; char sex; int age; char address[50]; char department[20]; }stu; 9.2.2 结构体变量初始化 与其他数据类型变量相同,结构体变量可以在定义的同时进行初始化,其用法和数组类似。 例如:struct student stu={“Kyo”,“M”,“22”,“China Xi‘an”,“Computer”}; 初始化后,将字符串“Kyo”赋给结构体变量stu中的成员name;将字符“M”赋给结构体变量stu中的成员sex;将整型数据“22”赋给结构体变量stu中的成员age;将字符串“China Xi’an”赋给结构体变量stu中的成员address;将字符串“Computer”赋给结构体变量stu中的成员department。 例9.5 结构体初始化实例。 程序 #includestdio.h struct student { char num[6]; cha

文档评论(0)

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

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

1亿VIP精品文档

相关文档