在C++中,这是一个什么样的数组

What kind of array is this in C++?

本文关键字:一个 什么样 数组 C++      更新时间:2023-10-16

我注意到这是一个C++数组,但我不知道它存储了什么以及如何存储。我使用了Arduino图像转换器。我忘记了来源,但我记得它是转换图像显示在Arduino TFT屏幕上。有人能告诉我编码的名字是什么或是什么吗,这样我就可以进一步研究了:(顺便说一句,这只是代码的摘录。)

// Generated by  : ImageConverter 565 v1.1
// Generated from: 4-14-12-063-copy.jpg
// Time generated: 5/8/2016 12:57:28 PM
// Dimensions    : 484x324 pixels
// Size          : 313,632 Bytes
#include <avr/pgmspace.h>
prog_uint16_t 4-14-12-063-copy[0x26490] PROGMEM ={
0xC638, 0xD6B9, 0xC617, 0xC637, 0x844F, 0xA573, 0x7C8F, 0xC6B8, 0xFFDD, 0xEF3B, 0xCDF6, 0x9C2F, 0x838D, 0x51E6, 0x4A47, 0x4A67,   // 0x0010 (16)
0x7BCD, 0xB5B5, 0xCE37, 0xA513, 0xC637, 0xCE57, 0xBD75, 0x5249, 0x3184, 0x4A47, 0x736D, 0x83EF, 0x39E6, 0x2123, 0x2923, 0x18E2,   // 0x0020 (32)
0x2122, 0x2963, 0x1902, 0x18E1, 0x2964, 0x4247, 0x2984, 0x2122, 0x31A4, 0x39E5, 0x2964, 0x2964, 0x3164, 0x18A1, 0x18A1, 0x2943,   // 0x0030 (48)
0x31A5, 0x18C1, 0x10C1, 0x0880, 0x18E2, 0x1902, 0x10A1, 0x10A1, 0x10A1, 0x0880, 0x08A0, 0x1102, 0x1923, 0x10E2, 0x1081, 0x0860,   // 0x0040 (64)
0x0040, 0x0860, 0x08A1, 0x0881, 0x0880, 0x0880, 0x0880, 0x18E2, 0x18C2, 0x0020, 0x0860, 0x0840, 0x0020, 0x0020, 0x0000, 0x0040,   // 0x0050 (80)
0x0040, 0x08A0, 0x31E5, 0xA5B4, 0xA5B4, 0x9512, 0x5B8B, 0x3A87, 0x21C4, 0x2A25, 0x3246, 0x5B8B, 0x8CB0, 0x638C, 0x42A8, 0x4AC9,   // 0x0060 (96)
0x532A, 0x52E9, 0x4AC8, 0x7C4E, 0xA594, 0xADB4, 0x94D1, 0x73CD, 0x842F, 0x73CD, 0x7C4F, 0x740E, 0xB5F6, 0xE75C, 0xFFFF, 0xFFFF,   // 0x0070 (112)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0080 (128)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0090 (144)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x00A0 (160)

4-14-12-063-copy在C++中不是有效的变量/类型名称,数组声明类似

typename  nameofarry[sizeofarry] = { optional initializer block };

因此,[]之后的PROGMEM也不是有效的C++,如果它进行编译,它一定是某种专门用于嵌入式编程的非标准扩展。

然而,如果你要查找的是单词"十六进制",那么数据看起来像16位十六进制数据,这将与prog_uint16_t的预期类型相对应——它可能是一个无符号的16位整数。

更新:。。。根据代码中的注释,数据是从JPEG图像中生成的。