当前课程知识点:C语言程序设计 >  第11章 复杂数据类型 >  11.1 用户自己建立数据类型 >  用户自己建立数据类型

返回《C语言程序设计》慕课在线视频课程列表

用户自己建立数据类型在线视频

下一节:定义结构体类型变量

返回《C语言程序设计》慕课在线视频列表

用户自己建立数据类型课程教案、知识点、字幕

同学们好

从这一章开始我们讲解复杂数据类型

复杂数据类型是C语言提供的

不同于简单数据类型的又一数据类型

它极大地丰富了C语言

对数据信息的处理能力

也为用户编程提供了极大的方便

复杂数据类型是

每一个C语言程序员必须了解和掌握的

否则

很多信息的描述是无法进行定义

更无法进行处理的

其实计算机中的信息表示

更多是由复杂数据类型来定义的

像数据结构中的链表

图等都是用复杂数据类型来定义

而且

了解了C语言的复杂数据类型以后

就可以更好地理解娄据库中的记录的含义

也为理解C++语言中类的概念提供了帮助

学习本章内容时同学们要多思考

多上机

在实践中掌握结构体与共用体

用户自己建立数据类型 在这一节中

我们将和大家探讨为什么要使用结构体类型

结构体类型使用的场合

请大家讲我们所学的知识思考

迄今为止

我们已经介绍了基本类型

或称简单类型的变量如整型实型字符型变量等

也介绍了一种构造类型数据

数组

数组中的各元素是属于同一个类型

但是只有这些数据类型是不够的

有时需要将不同类型的数据

组合成一个有机的整体

以便于使用

这些组合在一个整体中的数据是互相联系的

例如

一个学生的学号

姓名

性别

年龄

家庭地址等项

这些项都与某一学生相联系

我们可以看图

可以看到

性别

年龄

成绩

地址

是属于学号为10010和名为

Li Fun

的学生的

如果将num

name

sex

age

score

addr分别定义为互相独立的简单变量

难以反映它们之间的内在联系

应当把它们组织成一个组合项

在一个组合项中包含若干个类型不同

当然也可以相同的数据项

C语言允许用户自己指定这样一种数据结构

它称为结构体

它相当于其他高级语言中的记录

注意不要忽略最后的分号

上面由程序设计者指定了

一个新的结构体类型

struct studen

struct是声明结构体类型时所必须使用的关键字不能省略

它向编译系统声明这是一个结构体类型

它包括num

name

sex

age

score

adr等不同类型的数据项

应当说明 struct student是一个类型名

它和系统提供的标准类型

intchar

floatdouble等

一样具有同样的地位和作用

都可以用来定义变量的类型

只不过结构体类型需要由用户自己指定而已

声明一个结构体类型的一般形式为

struct结构体名 {(成员表列};

结构体类型的名字是由一个关键字

struct和结构体名组合而成

结构体名由用户指定

又称

结构体标记

structure tag

花括号内是该结构体所包括的子项

称为结构体的成员(member)

由它们组成一个结构体

例如

上例中的num

name

sex等都是成员

对各成员都应进行类型声明

即类型名

成员名

也可以把成员表列称为域表

每一个成员也称为结构体中的一个域

成员名命名规则与变量名相同

对各成员都应进行类型声明

成员表列

(member list)也称为

域表

(field list)

每一个成员是结构体中的一个域

成员名命名规则与变量名相同

指定了一个结构体类型

它相当于一个模型

但其中并无具体数据

系统对之也不分配实际内存单元

为了能在程序中使用结构体类型的数据

应当定义结构体类型的变量

并在其中存放具体的数据

今天的内容就讲到这里

在这一节中我们主要学习创建

自己所需的数据类型的原因

以及如何创建新的结构体类型

请同学们下去结合c++面向对象

编程当中类的思想好好思考

自己多创建新的类型

为将来多领域编程打下良好基础

同学们

我们下次课再见

C语言程序设计课程列表:

第1章 C语言程序设计预备知识

-计算思维与计算机

--计算思维与计算机

--计算思维与计算机

--计算思维和计算机

第2章 C语言程序设计基础

-2.1 程序设计语言的发展及其特点和应用

--程序设计语言的发展及其特点和应用

--程序设计语言的特点及发展

- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤

-- C语言程序的基本结构及编制C语言程序的基本步骤

--C语言程序的结构和编制步骤

第3章 基本数据类型、运算符与表达式

-3.1 C语言的数据类型

--C语言的数据类型

--C语言的数据类型

-3.2 常量

--常量

--常量

-3.3 什么是变量

--什么是变量

--什么是变量

-3.4 如何进行算术运算

--如何进行算术运算

--如何进行算术运算

-3.5 赋值运算符和逗号运算符

--赋值运算符和逗号运算符

--赋值运算符和逗号运算符

-3.6 数据类型转换

--数据类型转换

--数据类型转换

第4章 基本输入输出和顺序程序设计

-4.1 格式化输出printf

--格式化输出printf

--格式化输出

-4.2 格式化输入scanf及字符数据的非格式化输入输出

--格式化输入scanf及字符数据的非格式化输入输出

--格式化输入

第5章 选择结构程序设计

-5.1 关系运算符和关系表达式

--关系运算符和关系表达式

--关系运算符和关系表达式

-5.2 逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

-5.3 条件运算符和条件表达式

--条件运算符和条件表达式

--条件运算符和条件表达式

-5.4 if语句

--if语句

--if语句

-5.5 switch语句

--switch语句

--switch语句

第6章 循环结构程序设计

-6.1 while语句

--while语句

--while语句

--do-while语句

-6.2 for语句

--for语句

--for语句

-6.3 循环的嵌套

--循环的嵌套

--循环的嵌套

-6.4 break语句和continue语句

--break语句和continue语句

--break和continue语句

第7章 数组

-7.1 一维数组的定义和引用

--一维数组的定义和引用

--一维数组的定义和引用

-7.2 一维数组的赋值

--一维数组的赋值

--一维数组的赋值

-7.3 二维数组的定义和引用

--二维数组的定义和引用

--二维数组的定义和引用

-7.4 二维数组的赋值

--二维数组的赋值

--二维数组的赋值

-7.5 字符串的本质

--字符串的本质

--字符串的本质

-7.6 字符串操作的常用函数

--字符串操作的常用函数

--字符串常用函数

-7.7 字符串数组

--字符串数组

--字符串数组

第8章 函数

-8.1 函数概述

--函数概述

--函数概述

-8.2 有参函数

--有参函数

--有参函数

-8.3 函数参数的传递方式

--函数参数的传递形式

--函数参数的传递方式

-8.4 变量的作用域和生存期

--变量的作用域和生存期

--变量的作用域和生存期

-8.5 变量的存储类型

--变量的存储类型

--变量的存储类型

-8.6 函数的嵌套和递归调用

--函数的嵌套和递归调用

--函数的嵌套和递归调用

-8.7 函数的作用域与封装

--函数的作用域与封装

--函数的作用域与封装

第9章 指针

-9.1 指针变量的概念(上)

--指针变量的概念(上)

--指针变量的概念(上)

-9.2 指针变量的概念(下)

--指针变量的概念(下)

--指针变量的概念(下)

-9.3 指向一维数组的指针变量

--指向一维数组的指针变量

--指向一维数组的指针变量

-9.4 指向二维数组的指针变量(上)

--指向二维数组的指针变量

--指向二维数组的指针变量(上)

-9.5 指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

-9.6 动态内存分配

--动态内存分配

--动态内存分配

第10章 预处理命令

-10.1 编译预处理

--编译预处理

第11章 复杂数据类型

-11.1 用户自己建立数据类型

--用户自己建立数据类型

--用户自己建立数据类型

-11.2 定义结构体类型变量

--定义结构体类型变量

--定义结构体类型变量

-11.3 结构体变量的引用与初始化

--结构体变量的引用与初始化

-11.4 结构体数组

--结构体数组

--结构体数组

-11.5 指向结构体类型数据的指针

--指向结构体类型数据的指针

--指向结构体类型数据的指针

第12章 文件

-12.1 文件的基本概念和文件指针

--文件的基本概念和文件指针

--文件的基本概念和文件指针

-12,2 文件的打开和关闭

--文件的打开和关闭

--文件的打开和关闭

-12.3 文本文件读写

--文本文件读写

--文本文件读写

-12.4 二进制文件读写

--二进制文件读写

--二进制文件读写

用户自己建立数据类型笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。