mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeiger auf String Array


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe zwei Arrays
const char zeichen0[4][6]={"Test1","Test2","Test3","Test4"}
const char zeichen1[4][6]={"Test5","Test6","Test7","Test8"}
normalerweise steht nicht Testn drinnen aber ist ja egal, auf jeden
fall will ich jetzt einen Pointer erzeugen der mit je nachdem welchen
Wert eine Variable hat nun auf den ersten oder auf den zweiten
Zeichensatz zeigt;

hab mir das in etwa so vorgestellt..
const char *p[2]={zeichen0,zeichen1}

void test(char select)
{
   select&=0x01;
   printf("%s",p[select][2];
}
das funktioniert aber nicht.. kann mir jemand weiterhelfen??

Danke
Mike

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeichen0 und zeichen1 sind keine char*, deshalb kannst du sie nicht in
ein Array aus char* stecken.
Wieso machst du aus den beiden Variablen nicht einfach auch ein Array?
Dann brauchst du p gar nicht.

const char
zeichen[2][4][6]={{"Test1","Test2","Test3","Test4"},

{"Test5","Test6","Test7","Test8"}};
...

printf("%s", zeichen[select][2]);

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.