c语言用户自定义数据类型,c语言 用户自定义数据类型语言 用户自定义数据类型c语言 用户自定义数据类型c语言 用户自定义数据类型.ppt...

c语言 用户自定义数据类型语言 用户自定义数据类型c语言 用户自定义数据类型c语言 用户自定义数据类型

第8章 用户自定义数据类型 本章内容 8.1 结构类型及其变量的定义 8.2 结构数组 8.3 结构和指针 8.4 联合类型 8.5 枚举类型 8.1.1结构类型的定义 一. 结构类型的概念 前面的我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。 在日常生活中,我们常会遇到一些需要填写的登记表,如成绩表、通讯地址、员工信息等。其数据类型可能由性质不同的成员组成。 结构类型的概念 我们可以创建如下的结构类型: struct staff 其中staff由用户命名 { char number[8]; char name[10]; char sex; int age; char dep[20]; float wage[2]; }; 以上定义了一个结构类型struct staff(与int 同地位),它包含了number、name、sex、age、dep、wage等不同类型的数据项。 1.结构体类型说明的一般形式 struct [标识符] {   结构成员列表; }; 说明: (1) struct是关键字,声明要定义一个结构类型,结构类型名用标示符命名,要“见名知义”; (2)成员列表给出n个成员声明,成员可以基本类型变量、数组,也可以是另一结构类型变量等,对每个成员必须作类型说明,成员之间用分号分隔; 2.结构类型的几点说明 (1)对于结构类型,系统不会为之分配内存。只有在定义了结构变量后,系统才会分配内存单元给变量。 (2)结构是由若干个数据项组成,每个数据项都属于一种已有定义的类型。每一个结构成员都不是独立的,它不是一般的变量,而是跟结构联系在一起。 (3)结构类型可以嵌套定义。所谓嵌套定义是指在一个结构类型中可以包含另一个或一些结构类型,通常用于结构类型的成员是一个结构变量的场合。 结构类型的几点说明 struct Student { char name[9]; struct Birthday { int year; int month; int day; } birthday; char sex; }; (4)允许省略结构类型名,即允许定义无类型名的结构类型。 1.结构类型数据对象包括一般变量、指针、数组等,对于成为结构变量、结构指针、结构数组等可以在说明语句中用已定义的结构类型定义结构数据对象,也可以在定义结构类型的同时定义结构数据对象。 2.结构类型变量的三种定义方式 (1) 在说明结构类型的同时, 也定义了结构类型变量 例如: struct book {   int num; char name[60]; float price; } book1, books[3]; 在说明结构类型名struct book的同时,定义了结构类型变量book1与结构类型数组books, 数组books有三个元素:books[0]、books[1]、books[2]。 (2) 先说明结构类型, 再单独进行变量定义 例如: struct staff { char name[10]; char sex; float wage[2]; }; ... struct staff worker1, worker2; (3) 省略结构标识符, 直接定义变量 例如: struct /* 此处没有标识符*/ { int month; char day; unsigned year; } d[5]; 没有标识符一定要在定义结构类型的同时定义变量。 定义了结构类型: struce Student 后定义不同变量的区别: struce Student s1, s2[100], *s3=&s1, *s4=s2; 从上面可以看出: (1) s1是该类型的变量, s2是该类型的一维数组, s3, s4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值