【问题标题】:uint8_t array within another uint8_t array possible?另一个 uint8_t 数组中的 uint8_t 数组可能吗?
【发布时间】:2015-04-24 02:51:38
【问题描述】:

我试图弄清楚如何在commentExtension 的数组中包含两个字节的appSignatureBytes 数组,以便代码可以分开;有没有办法做到这一点? appSignatureBytes[0-sizeof(appSignatureBytes)] 以便在编译时插入所有元素?

const uint8_t appSignatureBytes [] = { 0x48, 0x69 };

const uint8_t commentBytesSizeByte = sizeof(appSignatureBytes);

const uint8_t commentExtension [] = { extensionIntroducerByte,
commentLabelByte, commentBytesSizeByte, appSignatureBytes[0-sizeof(appSignatureBytes)], 
blockTerminatorByte };

【问题讨论】:

  • @RSahu C 中的替代方案是什么?
  • 我错了,这在 C 中是不可能的。@CarlNorum 的回答显示了如何做到这一点。

标签: objective-c c pointers


【解决方案1】:

如果你真的在编译时需要它,你可以使用一个共享的预处理器定义:

#define MAGIC_BYTES 0x48, 0x69
const uint8_t appSignatureBytes[] = { MAGIC_BYTES };

const uint8_t commentBytesSizeByte = sizeof appSignatureBytes;

const uint8_t commentExtension[] =
{
    extensionIntroducerByte,
    commentLabelByte,
    commentBytesSizeByte,
    MAGIC_BYTES, 
    blockTerminatorByte
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    相关资源
    最近更新 更多