【案例1】-必备知识 ·结构体类型定义 在程序设计中,使用结构体类型时,首先要对结构体类型的组成进 行描述,结构体类型的定义方式如下: struct结构体类型名称 数据类型成员名1; 数据类型成员名2 数据类型成员名n;
• 结构体类型定义 − 在程序设计中,使用结构体类型时,首先要对结构体类型的组成进 行描述,结构体类型的定义方式如下: struct 结构体类型名称 { 数据类型 成员名1; 数据类型 成员名2; … 数据类型 成员名n; }; 【案例1】-必备知识
【案例1】-必备知识 。结构体类型的定义 1、结构体类型定义以关键字struct开头; 注意 2、定义好一个结构体类型后,并不分配内存空间: 3、结构体类型定义末尾括号后的分号不可缺少; 4、结构体类型的成员可以是一个结构体变量,但 不能是自身结构体类型的变量
1、结构体类型定义以关键字struct开头; 2、定义好一个结构体类型后,并不分配内存空间; 3、结构体类型定义末尾括号后的分号不可缺少; 4、结构体类型的成员可以是一个结构体变量,但 不能是自身结构体类型的变量。 • 结构体类型的定义 【案例1】-必备知识
【案例1】必备知识 ·结构体变量的定义 一定义了结构体类型,它相当于一个模型,其中并无具体数据,系统也不 会为它分配实际的内存空间。为了能在程序中使用结构体类型的数据, 应该定义结构体类型的变量,并在其中存放具体的数据。 1先定义结构体类型,再定义结构体变量 2在定义结构体类型的同时定义结构体变量 3直接定义结构体变量
• 结构体变量的定义 − 定义了结构体类型,它相当于一个模型,其中并无具体数据,系统也不 会为它分配实际的内存空间。为了能在程序中使用结构体类型的数据, 应该定义结构体类型的变量,并在其中存放具体的数据。 1.先定义结构体类型,再定义结构体变量 2.在定义结构体类型的同时定义结构体变量 3.直接定义结构体变量 【案例1】-必备知识
【案例1】-必备知识 。结构体变量的定义 结构体类型是用户自定义的一种数据类型,它 注意 同前面所介绍的简单数据类型一样,在编译时 对结构体类型不分配空间。只有用它来定义某 个变量时,才会为该结构体变量分配结构体类 型所需大小的内存单元
结构体类型是用户自定义的一种数据类型,它 同前面所介绍的简单数据类型一样,在编译时 对结构体类型不分配空间。只有用它来定义某 个变量时,才会为该结构体变量分配结构体类 型所需大小的内存单元。 • 结构体变量的定义 【案例1】-必备知识
【案例1】-必备知识 ·结构体变量的内存分配 一结构体变量占据的内存大小是按照字节对齐的机制来分配的。通常情况 下,字节对齐满足两个原则。 1.结构体的每个成员变量相对于结构体首地址的偏移量,是该成 员变量的基本数据类型(不包括结构体、数组等)大小的整数 倍,如果不够,编译器会在成员之间加上填充字节。 2.结构体的总大小为结构体最宽基本类型成员大小的整数倍,如 果不够,编译器会在最末一个成员之后加上填充字节
• 结构体变量的内存分配 − 结构体变量占据的内存大小是按照字节对齐的机制来分配的。通常情况 下,字节对齐满足两个原则。 1. 结构体的每个成员变量相对于结构体首地址的偏移量,是该成 员变量的基本数据类型(不包括结构体、数组等)大小的整数 倍,如果不够,编译器会在成员之间加上填充字节。 2. 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如 果不够,编译器会在最末一个成员之后加上填充字节。 【案例1】-必备知识