我不了解此C 语法
I do not understand this C++ syntax
我正在使用Arduino的PTP(ISO 15740)库(通过USB主机操纵相机设置)。它使用了这个常数,它似乎是某种标语数组。问题是我不知道它叫什么,所以我不确定如何在线搜索它,并且由于我不是经验丰富的C 程序员,所以我不知道如何使用它。这是如何工作的?
const ValueTitle<VT_SHSPEED, VT_SHSPEED_TEXT_LEN> ShutterSpeedTitles[] PROGMEM =
{
{0x0c, {'B','u','l','b',0} },
{0x10, {' ','3','0','"',0} },
{0x13, {' ','2','5','"',0} },
{0x14, {' ','2','0','"',0} },
{0x15, {' ','2','0','"',0} },
{0x18, {' ','1','5','"',0} },
{0x1B, {' ','1','3','"',0} },
{0x1C, {' ','1','0','"',0} },
{0x1D, {' ','1','0','"',0} },
{0x20, {' ',' ','8','"',0} },
{0x23, {' ',' ','6','"',0} },
{0x24, {' ',' ','6','"',0} },
{0x25, {' ',' ','5','"',0} },
{0x28, {' ',' ','4','"',0} },
{0x2B, {' ','3','"','2',0} },
{0x2C, {' ',' ','3','"',0} },
{0x2D, {' ','2','"','5',0} },
{0x30, {' ',' ','2','"',0} },
{0x33, {' ','1','"','6',0} },
{0x34, {' ','1','"','5',0} },
{0x35, {' ','1','"','3',0} },
{0x38, {' ',' ','1','"',0} },
{0x3B, {' ','0','"','8',0} },
{0x3C, {' ','0','"','7',0} },
{0x3D, {' ','0','"','6',0} },
{0x40, {' ','0','"','5',0} },
{0x43, {' ','0','"','4',0} },
{0x44, {' ','0','"','3',0} },
{0x45, {' ','0','"','3',0} },
{0x48, {' ',' ',' ','4',0} },
{0x4B, {' ',' ',' ','5',0} },
{0x4C, {' ',' ',' ','6',0} },
{0x4D, {' ',' ',' ','6',0} },
{0x50, {' ',' ',' ','8',0} },
{0x53, {' ',' ','1','0',0} },
{0x54, {' ',' ','1','0',0} },
{0x55, {' ',' ','1','3',0} },
{0x58, {' ',' ','1','5',0} },
{0x5B, {' ',' ','2','0',0} },
{0x5C, {' ',' ','2','0',0} },
{0x5D, {' ',' ','2','5',0} },
{0x60, {' ',' ','3','0',0} },
{0x63, {' ',' ','4','0',0} },
{0x64, {' ',' ','4','5',0} },
{0x65, {' ',' ','5','0',0} },
{0x68, {' ',' ','6','0',0} },
{0x6B, {' ',' ','8','0',0} },
{0x6C, {' ',' ','9','0',0} },
{0x6D, {' ','1','0','0',0} },
{0x70, {' ','1','2','5',0} },
{0x73, {' ','1','6','0',0} },
{0x74, {' ','1','8','0',0} },
{0x75, {' ','2','0','0',0} },
{0x78, {' ','2','5','0',0} },
{0x7B, {' ','3','2','0',0} },
{0x7C, {' ','3','5','0',0} },
{0x7D, {' ','4','0','0',0} },
{0x80, {' ','5','0','0',0} },
{0x83, {' ','6','4','0',0} },
{0x84, {' ','7','5','0',0} },
{0x85, {' ','8','0','0',0} },
{0x88, {'1','0','0','0',0} },
{0x8B, {'1','2','5','0',0} },
{0x8C, {'1','5','0','0',0} },
{0x8D, {'1','6','0','0',0} },
{0x90, {'2','0','0','0',0} },
{0x93, {'2','5','0','0',0} },
{0x94, {'3','0','0','0',0} },
{0x95, {'3','2','0','0',0} },
{0x98, {'4','0','0','0',0} },
{0x9B, {'5','0','0','0',0} },
{0x9C, {'6','0','0','0',0} },
{0x9D, {'6','4','0','0',0} },
{0xA0, {'8','0','0','0',0} }
};
从本质上讲,我最终要寻找的是。十六进制值代表相机上的快门速度。十六进制HUMBER的右侧的数据是快门速度的值,如果以单个字符的方式在相机显示屏上可见。(我想这可以称为矩阵?)。我想插入设备,并在相机上设置曝光。我们会说一秒钟的曝光由十六进制值" 0x38"表示。这是一个起点参考。
我想拍五张照片。其中一个是" 0x38",而其他四个是在此之前的两个暴露,另外两个是此次之后的两个暴露。因此,我想按顺序将所有五个十六进制值放在数组中,以便找到" 0x38",然后在下面搜索两个,然后在下面找到一个,然后在上面找到一个,然后在上方找到两个。
它是一个数组初始器:
示例:
int val[] = {1, 2, 3, 4}; // initializes an array of ints.
如果您的struct相同语法有效。
struct X
{
int x;
int y;
};
X valX[] = { {1,2}, {3,4}, {5,6}}; // initializes an array of X
// first X is {1,2}
// second X is {3,4}
// etc
在您的情况下,结构为:
ValueTitle<VT_SHSPEED, VT_SHSPEED_TEXT_LEN>
但是这个概念是相同的;
相关文章:
- 不了解链表实现,请帮忙.C++
- 我收到分段错误,但不了解分段错误发生的位置
- 为什么用于获取有关名称的输入的语法不起作用?
- 关于内存泄漏,我有什么不了解的
- 不了解此返回类型?
- 不了解C 集合的工作方式
- 不了解 learnopengl.com 中漫辐照度教程中的捕获视图
- 不了解C 内存对齐
- 编译器不了解递归功能以打印树级别的C
- Eclipse CDT 不了解方法定义是什么
- C++状态机,继承了具有语法不正确的成员值的类
- 精神语法不会编译:函数模板参数错误?
- 我只是不了解712博士
- 在C++中,为什么编译器不了解基类对象在编译时指向哪个对象?
- 不了解编译器的行为
- 不了解多态函数
- 模板类中定义的类,不了解如何使用它并定义它
- 我不了解此C 语法
- 不了解C++类型不匹配:const Foo* to Foo* const&
- 另一个人不了解main.cpp,program_name.cpp和program_name的联系。