day13

本文详细介绍了C语言中结构体的概念、声明与使用方法。包括结构体变量的定义、初始化及成员访问方式等内容,并探讨了结构体在函数参数传递中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言里可以在一个存储区里记录多个数字
这种存储区的类型叫结构体类型,这种类型
    需要程序员编写语句创建出来
结构体类型存储区里可以包含多个子存储区,
    每个子存储区可以用来记录一个数字
结构体不同子存储区的类型可以不同,子存储区
    的类型也可以是结构体类型
结构体声明语句可以用来创建结构体类型
声明结构体的时候需要使用struct关键字
结构体声明语句中包含多个变量声明语句,
    每个变量叫做结构体的成员变量,每个
    成员变量代表了结构体存储区的一个
    子存储区
成员变量声明语句不会分配存储区,它们
    只是用来表示子存储区的类型和名称
C语言里结构体不能包含函数
结构体声明语句不会分配内存,所以可以写在
   头文件里
可以把结构体作为类型声明变量,这种变量
    叫结构体变量
结构体变量被分配了存储区,它们可以用来
    记录数字
声明结构体变量的时候需要把struct关键字和
    结构体名称一起作为类型名称使用

typedef关键字可以用来给一个类型起别名
通常会给结构体类型起别名,这个别名就可以
    作为结构体类型名称使用

可以把声明结构体类型的语句和起别名的语句
   合并成一条语句
这个时候可以省略结构体本身的名称

声明结构体变量的时候也应该进行初始化
可以象初始化数组一样初始化结构体变量

结构体变量通常不会作为整体使用,一般
    一次只使用其中的某个子存储区
可以采用以下写法表示结构体里的某个
    子存储区
prsn.age
其中prsn是一个结构体变量名称,age是一个
   成员变量名称

同类型结构体变量之间可以直接赋值

结构体指针可以和结构体存储区捆绑
当结构体指针和结构体存储区捆绑后就可以
     采用以下写法表示子存储区
p_person->age
其中p_person是一个结构体指针,age是一个
   成员变量名称

结构体类型的变量可以直接作为形式参数使用
直接使用结构体变量做形式参数会导致时间
    和空间的浪费
采用结构体指针作为形式参数可以避免这个
    问题
结构体指针做形式参数的时候尽量使用const
    关键字声明

可以直接把结构体变量作为返回值使用,这个
    时候需要被调用函数提供一个结构体类型
    的存储区用来存放返回值
这也会造成时间和空间的浪费
使用结构体存储区的地址作为返回值可以避免
   这个问题(这个时候被调用函数需要提供一个
    结构体指针存储区记录这个返回值)
不要使用局部结构体变量的地址作为返回值

一个存储区的地址一定是它自身大小的整数倍
    (双精度浮点类型存储区的地址只需要是4
      的整数倍就可以了)
这个规则叫数据对齐
结构体的子存储区通常也需要遵守数据对齐的
    规定
数据对齐可能导致结构体的子存储区之间有空隙

结构体存储区大小必须是它所包含的占地最大
    的基本类型子存储区大小的整数倍(如果
    这个基本类型子存储区的类型是double则
    结构体存储区的大小只需要是4的整数倍)
这个规则叫数据补齐
数据补齐可能造成结构体最后有浪费的字节

预习:
    1.枚举和联合
    2.二级指针
    3.函数指针
    4.动态内存分配
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 加载插入。iTextPDF 支持种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值