c - 为什么要使用二维结构数组?
问题描述
我很好奇是否有使用二维结构数组的情况,例如 fe:
typedef struct
{
//member variables
}myStruct;
myStruct array2D[x][y];
//Uses cases of array2D[x][y]? Do we need them?
为什么要使用二维结构数组?
解决方案
为什么要使用二维结构数组?
定义的结构基本上只是一种与其他类型一样的类型(当然,任何类型都与其他类型不同,私有数据类型和标准数据类型之间存在差异;更不用说该类型对象之间的内存分配差异)你可以声明对象。
您还可以问:为什么要使用char
或二维数组?int
double
它不仅是一种结构本身的东西。
在代码中拥有清晰的“结构”取决于上下文及其价值;所以以这种方式编码可以帮助你使你的代码更具可读性和清晰性,如果你需要大量的某种类型的对象,在这种情况下是一个结构。
也许您甚至想对一些对象进行分组和/或想以不同的方式对待它们。在这种情况下,多个数组维度是有益的,因为您可以显式地分别处理每个维度的对象。
正如@buysbee在评论中提到的:
将结构对象存储在二维数组中的一个明显示例是存储图片的像素。最好将“像素”结构对象存储在二维数组中,因为这模拟了图片的自然构造方式。
推荐阅读
- javascript - 具有 Jest 和 Playwright 类型的页面对象模型不起作用
- arrays - 在打字稿中,有没有办法访问数组类型的接口属性的属性?
- java - 如何通过rest api上传多部分文件?
- icu - 如何释放 icu::Transliterator?
- coordinates - 开放层:如何在矢量源上进行坐标系变换
- angular - Angular:strictTemplates 和 Virtual ScrollViewPort
- postgresql - AWS RDS PostgreSQL 的二进制备份
- firebase - Firestore:同时删除文档和集合
- javascript - Javascript计数出现次数
- python - 使用 Selenium 时,我无法在 Google Meet 中单击/查找元素