社区
C语言
帖子详情
关于数据结构中定义结构体的问题(萌新小白)
real_metrix
2019-06-27 07:50:18
代码如下:
typedef struct CSNode
{
TElemType data;
struct CSNode *firstchild,*rightsib;
}CSNode,*CSTree;
问题:在很多数据结构的定义的代码中,总是出现定义两个结构体变量(如该代码中的 CSNode,*CSTree),一个是普通结构体变量,一个是结构体指针,但是看很多代码都是只用了结构体指针(*CSTree)来完成其他的操作,那还定义 CSNode 干什么呢?
...全文
362
3
打赏
收藏
关于数据结构中定义结构体的问题(萌新小白)
代码如下: typedef struct CSNode { TElemType data; struct CSNode *firstchild,*rightsib; }CSNode,*CSTree; 问题:在很多数据结构的定义的代码中,总是出现定义两个结构体变量(如该代码中的 CSNode,*CSTree),一个是普通结构体变量,一个是结构体指针,但是看很多代码都是只用了结构体指针(*CSTree)来完成其他的操作,那还定义 CSNode 干什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pr0gram
2019-06-30
打赏
举报
回复
为了让小白理解概念!
Italink
2019-06-27
打赏
举报
回复
为了好看,让结构看起来更直观一点,
CSNode *tree;
CSTree tree;
可以对比一下两种方式
636f6c696e
2019-06-27
打赏
举报
回复
请考虑下可扩展性,设计数据结构的人和使用数据结构的人不一定是同一个,况且定义CSNode有没有什么损失
C
结构
体
C
结构
体
C 数组允许
定义
可存储相同类型数据项的变量,
结构
是 C 编程
中
另一种用户自
定义
的可用的数据类型,它允许您存储不同类型的数据项。
结构
用于表示一条记录,假设您想要跟踪图书馆
中
书本的动态,您可能需要跟踪每本书的下列属性: Title Author Subject Book ID
定义
结构
为了
定义
结构
,您必须使用 struct 语句。struct 语句
定义
了一个包含多个成员的
新
的数据类型,struct 语句的格式如下: struct tag { member-list member-list member-list ... } variable-list ; tag 是
结构
体
标签。
C语言基础教程、
小白
学习教程
这份C语言基础教程提供了一份全面的C语言基础教程,覆盖了C语言的核心概念,包括语言简介、程序
结构
、数据类型、运算符、控制
结构
、函数、数组、指针、
结构
体
与联合
体
、文件操作、预处理指令、宏
定义
、高级特性如变长参数列表和内联函数,以及调试和优化技巧。教程旨在帮助初学者理解C语言的基础知识,并提供了进阶学习的指导,如操作系统和系统编程、嵌入式系统开发、并发编程和网络编程等高级主题。文档强调了实践的重要性,并通过示例代码和练习加深理解。
基于C++、文件操作和Huffman算法实现图片压缩源码+使用说明+详细注释+sln解决方案.zip
【资源说明】 基于C++、文件操作和Huffman算法实现图片压缩源码+使用说明+详细注释+sln解决方案.zip ——使用C++、文件操作和Huffman算法实现“图片压缩程序”。 ## 1. 核心知识 (1) 树的存储
结构
(2) 二叉树的三种遍历方法 (3) Huffman树、Huffman编码算法 ## 2. 功能要求 1. 针对一幅BMP格式的图片文件,统计256种不同字节的重复次数,以每种字节重复次数作为权值,构造一颗有256个叶子节点的哈夫曼二叉树。 2. 利用上述哈夫曼树产生的哈夫曼编码对图片文件进行压缩。 3. 压缩后的文件与原图片文件同名,加上后缀.huf(保留原后缀),如pic.bmp 压缩后pic.bmp.huf ## 3.分析与设计 使用Huffman算法实现图片压缩程序,可分为6个步骤。 (1)创建工程 创建HuffmanCompressCPro工程,
定义
入口函数int main(); (2)读取原文件 读取文件,统计256种字节重复的次数; (3)生成Huffman树 根据上一步统计的结果,构建Huffman树; (4)生成Huffman编码 遍历Huffman树,记录256个叶子节点的路径,生成Huffman编码; (5)压缩编码 使用Huffman编码,对原文件
中
的字节重
新
编码,获得压缩后的文件数据; (6)保存文件 将编码过的数据,保存到文件“Pic.bmp.huf”
中
。 ## 4.
数据
结构
的设计 1.记录统计256种不同字节的重复次数即权值使用整型数组: > unsigned int weight[256]; 2.二叉树的存储
结构
。使用
结构
体
存储节点,使用数组存储树的节点,使用静态二叉链表方式存储二叉树。 ```c++ struct HTNode{ int weight; int parent; int lchild; int rchild; }; typedef HTNode *HuffmanTree; ``` 3.Huffman编码存储
结构
定义
一个二维数组: > char HufCode[256][]; 因考虑每个字节的Huffman编码长度不一样,可使用字符串指针数组: > typedef char \*\*HuffmanCode; 4.压缩文件的算法的
数据
结构
: 为正确解压文件,除了要保存原文件长度外,还要保存原文件
中
256种字节重复的次数,即权值。
定义
一个文件头,保存相关的信息: ```c++ struct HEAD { char type[4]; //文件类型 int length; //原文件的长度 char weight[256]; //权值 } ``` 压缩文件时,
定义
一个内存缓冲区: > char \*pBuffer; //其大小视原文件压缩后的大小 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合
小白
学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
数据
结构
基础--指针,
结构
体
,typedef,形参实参详解、区分
在学习
数据
结构
线性表的时候,遇到了一些
问题
,像指针,
结构
体
,typedef,形参实参等较为抽象的概念,以及它们之间的联系,在此整理记录一下。 目录 一、实参与形参 (一)
定义
(二)二者的区别与联系: (三)易混点:形参和实参的三种传递方式: 1-值传递 2-址传递 3-引用(重) (四)形参、实参的传递方式的区别: 二、
结构
体
(一)、
定义
结构
体
1.基础知识 2.
结构
体
的嵌套 3.
结构
体
变量使用的注意事项 (二)、
结构
体
的初始化 (三)、
结构
体
数组 四、struct与typedef的结合
结构
体
的
定义
与赋值
结构
体
的
定义
与赋值
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章