Ints in 2D char Array schreiben? Wie?

Hallo liebe Experten.

Bin Anfänger was die Programmiersprache von Arduino angeht. Daher habt bitte etwas Nachsicht mit meinen dummen Fragen.

Ich suche nach einer Möglichkeit um in zweidimensionalen Zeichenketten-Array nach belieben Strings und Zahlen (int) zu speichern. Kapituliert und den ‘Kopf eingerannt’ habe ich auf der Suche nach einer einfachen Lösung ins Array zu schreiben.
Hat jemand von euch Experten einen Tipp oder Link wo mein Problem gelöst ist?

void setup() {

  Serial.begin(9600);

  char * pValue[3][4] =
  {
    {"1", "22", "333"},
    {"a", "b", "c"},
  };

  // --------------------- print pValue array -------------------
  Serial.println("array before ...");
  Serial.println("----------------");
  for (int j = 0; j < 2; j++) {
    for (int i = 0; i < 3; i++) {
      Serial.print("pValue["); Serial.print(j); Serial.print("]");
      Serial.print("["); Serial.print(i); Serial.print("]:");
      Serial.println(pValue[j][i]);
    }
  }
  Serial.println();

  // ------------------ change/write array strings ---------------
  pValue[1][1] = "teststring";           // <--- this works fine!

  int testInt1 = 1234;

  Serial.print("test1 (int): "); Serial.println(testInt1);
  Serial.print("test1 (String): "); Serial.println(String(testInt1));

  char buf[12] = {"\0"};          // <-- Das klappt...
  itoa(int (testInt1), buf, 10);  // <-- aber leider nur
  pValue[1][1] = buf;             // <-- ein einziges mal

  int testInt2 = 567;

  //buf[12] = {'\0'};              // <- klappt nicht
  //itoa(int (testInt2), buf, 10); // <- gleicher Pointer auf buf
  //pValue[1][2] = buf;            // <-

  //pValue[1][2] = strValue (testInt2); <- So etwas suche ich!!!

  Serial.println();
  Serial.print("String (testInt2):");
  Serial.println(String (testInt2));
  // print pValue array again
  Serial.println();
  Serial.println("array after ...");
  Serial.println("----------------");

  for (int j = 0; j < 2; j++) {
    for (int i = 0; i < 3; i++) {
      Serial.print("pValue["); Serial.print(j); Serial.print("]");
      Serial.print("["); Serial.print(i); Serial.print("]:");
      Serial.println(pValue[j][i]);
    }
  }
}

Du musst den Unterschied zwischen einem Array aus char und einem Array aus char* lernen. In ein Array aus Zeigern kannst du keine konvertierten Strings schreiben. Dazu muss schon richtiger Speicher dafür existieren

Außerdem daran denken, dass C Strings Null-terminiert sind. Wenn du "1234" abspeichern willst, dann sind das 5 Zeichen!