多维数组和可变长度



所以,我正在处理一个代码库,我们试图将几个代码库合并成一个整齐的堆栈。我遇到了麻烦的字节数组,我们使用。我们的东西是基于通过字节数组进行通信,所以我们的每个应用程序都存储它需要发送的消息,如下所示:

BYTE arr[] = {0x00, 0x01, 0x02};

现在,我把所有的数组组合成数组的数组来把它们组合在一起,像这样:

BYTE groupOneArrs[][15] = 
{
   {0x01, 0x02, 0x03},
};
BYTE groupTwoArrs[][15] = 
{
   {0xFF, 0xA9, 0xAA},
};

等。但是,我遇到了一些问题,因为必须保留单个消息的大小,因为为了使消息被认为是有效的,它们的长度必须与我们定义的长度相同。我通过定义一个包含每个元素实际长度的int数组来解决这个问题,但它很脏。是否有一种更简单的方法来存储这些二维数组,它将保留每个单独数组的长度?

编辑:所以它听起来像我的SOL与VS 2008和变长2D数组在头文件。有没有办法用结构体来解决这个问题?就像

struct Message{
   byte message[20];
   int size;
}

然后初始化为…

Message messages[] = {
   {{0x01, 0x02, 0x03}, 3},
};

嗯,我应该说,我试过这样的东西,它爆炸了。但不管怎样,差不多就是这样。我只是不想为了保持数组的大小而给每个数组取变量名,那样看起来很傻。

不制作2D数组,而是使用邻接表vector应该是最好的。它们在形成邻接表时很方便。

相关内容

  • 没有找到相关文章

最新更新