Zu Punk 1: Array Kopieren#define _myArray_cnt 3
void setup()
{
//definieren mit fester größe
char* myArray1[_myArray_cnt] = {"Dick", "Lang", "Hoch"};
char* myArray2[_myArray_cnt];
//kopieren, element für element
for(unsigned int i=0;i<_myArray_cnt;i++) {
myArray2[i] = myArray1[i];
}
}
void loop() {}
Punkt 2: Weitergabe#define _myArray_cnt 3
//global definieren
char* myArray1[_myArray_cnt] = {"Dick", "Lang", "Hoch"};
char meineFunktion()
{
myArray1[0] = "Doof";
}
void setup()
{
//definieren mit fester größe
char* myArray1[_myArray_cnt] = {"Dick", "Lang", "Hoch"};
//funktionsaufruf
meineFunktion();
}
void loop() {}
Geht glaub ich nur Global, ansonsten musst du mit Pointer of Pointer of .... arbeiten, ab dann wird es sehr sehr kompliziert.
Punkt 3: Array Leeren#define _myArray_cnt 3
char* myArray1[_myArray_cnt] = {"Dick", "Lang", "Hoch"};
for(unsigned int i=0; i<_myArray_cnt;i++) {
myArray1[i] = "";
}
Zu dem ganzen sei noch gesagt, dass man in C schreibt, nicht in C++.
In C gibt es keine Array Funktionen die einem das leben leicht machen, dort muss man mit Zeigern arbeiten was die meisten nicht mögen.
Die schönen Funktionen, die die Speicherverwaltung übernehmen (z.B. malloc) sollte man auf µC nicht verwenden.