C语言程序概述(六)
来源:互联网 发布:时时彩开奖平台源码 编辑:程序博客网 时间:2024/05/02 16:30
C程序第11章:结构体与共用体
一、结构体类型和结构体变量
1、结构体类型声明
结构体——是用户根据自己的需要定义的一种构造类型数据 。
结构体由若干不同类型的数据项组成,构成结构体的各个数据项称为结构体成员。
(1)“student”为结构体名:用户定义的合法标识符。可省:无名结构体。(2)struct是关键字,不能省略(3){ }中是组成该结构体的成员。成员类型可以是基本型或构造型(4)末尾分号不能省
注意:声明结构体类型struct student并没有为分配空间。结构体类型声明只是定义了一种新的类型,类似int等类型。它是对结构的组织形式的描述,系统还没分配实际内存空间。
只有定义结构体类型的变量,系统才分配内存空间。
2、结构体变量定义
有了类型后,就可以定义变量。三种形式:
(1)先定义(声明)结构体类型再定义变量名
(2)定义结构体类型的同时定义结构体变量
(3)直接定义结构体变量(即不出现结构体名)
3、结构体变量需要的内存——等于结构体变量所有成员占内存之和
注意:
声明结构体类型与声明结构体变量概念不同。结构体类型:不分配内存; 结构体变量:分配内存结构体类型:不能赋值、存取、运算; 结构体变量:可赋值、存取、运算
4、结构体变量初始化——就是为成员赋初值。根据前面结构体变量定义形式的三种情况,
初始化的形式也有三种。
形式一:
形式二:
形式三:
6、结构体变量使用
(1)引用规则:一般情况下结构体变量不能整体引用,只能引用变量成员
引用方式: 结构体变量名.成员名
注意:结构体中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量。成员名可以与程序中的变量名相同,二者不代表同一对象。
7、结构体类型的嵌套——结构体成员本身又是一个结构体类型。
结构体嵌套时逐级引用(只能对最低级的成员进行赋值或存取以及运算)
二、结构体数组
1、定义结构体数组:
每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员项。也有两种方法:
(1)定义结构体类型后定义数组
(2)定义结构体类型时定义数组
2、结构体数组的初始化
结构数组[n]={{初值表1},{初值表2},…,{初值表n}};
3、 结构体数组元素的使用
结构体数组元素类似于一个结构体变量,只能对结构体数组元素的成员进行输入、输出或其它基本操作
三、用指针访问结构体
1、 指向结构体变量的指针
设一个指针变量,用来指向一个结构体变量,此时该指针变量值是结构体变量的起始地址。
注意:三者等价:(*结构体指针名). 成员名=结构体变量名.成员名=结构体指针名->成员名
2、 用结构体变量和指向结构体的指针作函数参数
将一个结构体变量的值传递给另一个函数,有3个方法:
(1)用结构体变量的成员作参数。
(2) 用结构体变量作实参。
(3) 用指向结构体变量(或数组元素)的指针作实参,将结构体变量(或数组元素)的地址传给形参。
四、链表概述——链表是将若干个数据项按一定的原则连接起来的表。
连接原则:(1)前一个结点指向下一个结点;(2)只有通过前一个结点才能找到下一个结点。此为单向链表特征,下均指单向链表。
- C语言程序概述(六)
- C语言程序概述(四)
- C语言程序概述(五)
- C语言程序学习(六)笔记
- C语言与程序概述
- C语言(六)
- C语言小程序(六)、数组操作
- C语言学习笔记(六)---行列式求值小程序
- C语言概述(二)
- C语言概述(1)
- C语言概述(2)
- C语言概述(3)
- C语言概述(5)
- C语言库函数(六)
- C语言笔记(六)
- C语言(六)--数组
- c语言基础(六)
- C C语言概述
- 总结——调试STM32F103ZET6及外围传感器_电路图设计问题+SHT10温湿度传感器
- 空格字符的错误造成监听无法启动
- 2016.11.05
- Android总结篇
- Android中在Fragment中利用scrollView实现图片下拉效果。
- C语言程序概述(六)
- Linux C——常用校验方法
- Java 中的接口有什么作用?
- (19)多维数组
- 11.5编程总结
- Python接口测试第一讲(代码管理工具git的简单操作)
- GDOI2017模拟11.5 总结
- java学习日记_52:Object类的getClass()方法
- HDU2604【矩阵快速幂】