多维数组中数组的长度

时间:2019-03-11 22:19:01

标签: multidimensional-array arduino arduino-c++

我在项目中使用多维数组时遇到麻烦。我将通过串行通信接收保存到字节数组缓冲区的数据。我想保存此字节数组的数据到另一个数组。因此,我希望一个数组包含大约50到150个这些字节数组,并且它们有时会具有不同的长度。

一旦我保存了它们,我想提取它们并将它们发送到另一个串行端口。我的问题是我不知道如何计算保存到“主”数组中的不同字节数组的长度。

#define buffLength  260
#define arrayLength   4

byte buff[buffLength] = {0xAA, 0x40, 0x00, 0x20, 0x22};
byte buff2[buffLength] = {0xAA, 0x43, 0x02, 0x00, 0x42, 0x25, 0x48};
byte arrayOfBuff[arrayLength][buffLength] = {{0},{0}};

byte savedArrays = 2;

byte buffLen = 5;
bool hasPrinted = false;

void setup() {
  Serial.begin(115200);
  while(!Serial){};

  Serial.println("Writing buffer to array... ");

  for(int i = 0; i < savedArrays; i++){      // saves the byte arrays
      for(int j = 0; j < buffLen; j++){
          arrayOfBuff[0][i] = buff[i];
      }
      buffLen = 7;            // simulate bufflength, this will be known in finished code
  }

  Serial.println("done writing.");


  Serial.print("The saved array is: ");


  for (int i = 0; i < savedArrays; i++){         // try to write them 
      for(int j = 0; j < sizeof(arrayOfBuff[i]); j++){
          Serial.print(arrayOfBuff[i][j], HEX);
      }
  }

}

void loop() {}

有关代码的一些要点

  • 我正在“模拟”我在代码中接收到缓冲区和buffer2数据
  • 我还在“模拟” saveedArrays编号,该编号将在完成的代码中显示
  • 与buffLen相同

如何访问arrayOfBuff索引“ x”并计算长度为5?

0 个答案:

没有答案