如何在 c++ 上将一定大小的数组填充到另一个更大大小的数组中?

How to populate an array with a certain size into another one with a bigger size on c++?

本文关键字:数组 填充 另一个 c++      更新时间:2023-10-16

我正在尝试将一个角度数组填充到另一个具有更多元素的角度数组中:

uint16_t _sector[SECTORS_MAX] = {0, 45, 90, 135, 180, 225, 270, 315};

这个想法是,我有另一个包含 72 个元素的数组,而上面的这个只有 8 个,每个角度代表一个扇区,因此 72 个元素数组每个扇区将有 9 个角度,而不是一个,其中每个 9 个角度代表一个扇区。如何制作一个设法做到这一点的循环?

由于每个扇区有 9 个角度,因此您还需要#define ANGLES_MAX

#define SECTORS_MAX 8
#define ANGLES_MAX 9

然后,您需要使用二维数组来存储角度:

uint16_t SectorAngles[SECTORS_MAX][ANGLES_MAX];

假设包含 72 个角度的数组的名称是TotalAngles它的定义是这样的:

uint16_t TotalAngles[72];

现在,您可以将角度从TotalAngles复制到SectorAngles,如下所示:

for(int i = 0; i < SECTORS_MAX; i++)
{
for(int j = 0; j < ANGLES_MAX; j++)
{
SectorAngles[i][j] = TotalAngles[i*8 + j];
}
}