c - 在 C 中创建 BYTE 数组结构
问题描述
我想在大小为 512 的 C 结构中创建一个字节数组,但结构的大小最终是该大小的八倍。你能否帮助我如何制作所需的数据结构。
这是我当前的代码
#include <stdint.h>
typedef uint8_t BYTE;
typedef struct _ByteArray {
BYTE *arr[512];
} __attribute__((__packed__))
JPEG;
解决方案
BYTE * arr[512];
^ ^ ^ ^
| | | |
| | | is an array of 512
| | arr
| pointers to
BYTE
您必须将其更改为:
BYTE arr[512];
^ ^ ^
| | |
| | is an array of 512
| arr
BYTE
由于您需要一个字节数组,因此无需制作 struct 数据包,因为不会添加任何填充字节。
推荐阅读
- ios - iOS - 如何使 UICollectionViewCell 根据其内容调整其高度?(包含一个 UITableView)
- c# - .NET 标准库能否以某种方式使用支持 .NET Framework 4.6.1 的 nuget 包
- google-apps-script - Google Apps 脚本从专用网络 (vpn) 获取数据
- database - Cosmos DB(共享 RU 或 Pr. Collection RU)的性能不一致问题
- javascript - 如何使用 exceljs 读取大型 csv 文件
- sugarcrm - 产品目录侧窗格在添加行项目时加载整个数据?
- typo3 - 将自己的 CSS 添加到 TYPO3 后端 [v9]
- java - 为什么我的“index.jsp”无法从控制器中识别我的变量,使用 java 和 Spring
- node.js - 第一次请求后结束 NodeJS 错误后的 HTTP 写入
- excel - Excel 嵌套 If 公式与 Today()