C++ 中这是什么类型的数组?

What kind of array is this in C++?

我注意到这是一个 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++ 中不是有效的 variable/type 名称,数组声明类似于

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

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

然而,如果您要查找的是单词 "hexadecimal",则数据看起来像 16 位十六进制数据,这与 prog_uint16_t 的预期类型相对应——大概是一个无符号的 16 位整数。

更新:...根据代码中的注释,数据是从JPEG image.

生成的