mikrocontroller.net

Forum: PC-Programmierung Gültigkeit eines Array zurücksetzen?


Autor: Gregor B. (gregor54321)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
warum geht das nicht?
char testtext[] = "Das ist ein Test!";
     testtext[] = "und noch einer";
../main.c:79: error: expected expression before ']' token

char testtext[] = "Das ist ein Test!";
char testtext[] = "und noch einer";
../main.c:79: error: redefinition of 'testtext'

Wie kann ich so eine Vereinbarung für ungültig erklären, um den 
Feldbezeichner nochmal verwenden zu können?

: Verschoben durch Admin
Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
{
   char testtext[] = "Das ist ein Test!";
   ...
}
{
   char testtext[] = "und noch einer";
   ...
}

Autor: Gregor B. (gregor54321)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert! Besten Dank!

Autor: Daniel F. (df311)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich persönlich finde die version mit den gültigkeitsblöcken eher 
unschön - wie wärs alternativ mit malloc/free - macht für "strings" 
(char-arrays) eigentlich überhaupt keinen unterschied.

und ist für mich eine wesentlich sauberere (komisches wort) lösung...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt eine Alternative:
char testtext*;

testtext = "Das ist ein Test!";
testtext = "und noch einer";

Autor: Thomas Decker (t0mmy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
> Es gibt eine Alternative:
>
> char testtext*;
> 
> testtext = "Das ist ein Test!";
> testtext = "und noch einer";
> 

Da fehlt aber das malloc!

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, ein const fehlt.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, formell fehlt ein const, denn das, wo der Pointer hinzeigt, 
darf/kann nicht beschrieben werden (das sind die beiden 
Stringkonstanten, die auf µCs üblicherweise direkt im ROM untergebracht 
werden).

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da fehlt aber das malloc!

Wäre ja auch seltsam, wenn die Alternative zu malloc ein malloc wäre, 
oder?

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.