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


von Gregor B. (gregor54321)


Lesenswert?

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

1
char testtext[] = "Das ist ein Test!";
2
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
von Klaus W. (mfgkw)


Lesenswert?

1
{
2
   char testtext[] = "Das ist ein Test!";
3
   ...
4
}
5
{
6
   char testtext[] = "und noch einer";
7
   ...
8
}

von Gregor B. (gregor54321)


Lesenswert?

Funktioniert! Besten Dank!

von Daniel F. (df311)


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...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es gibt eine Alternative:
1
char testtext*;
2
3
testtext = "Das ist ein Test!";
4
testtext = "und noch einer";

von Thomas D. (t0mmy)


Lesenswert?

Rufus t. Firefly schrieb:
> Es gibt eine Alternative:
>
1
> char testtext*;
2
> 
3
> testtext = "Das ist ein Test!";
4
> testtext = "und noch einer";
5
>

Da fehlt aber das malloc!

von Klaus W. (mfgkw)


Lesenswert?

nein, ein const fehlt.

von Rufus Τ. F. (rufus) Benutzerseite


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).

von Rolf Magnus (Gast)


Lesenswert?

> Da fehlt aber das malloc!

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.