Forum: Mikrocontroller und Digitale Elektronik Frage zu einem String-typedef


von mcniesf (Gast)


Lesenswert?

Hallo,

ich hab hier eine Verständnisfrage zum Thema typedef.

Einen String für 20 Zeichen definiere ich ja mit:

char Buffer_String[20];

Angenommen ich wollte ein Arry mit 5 mal 20 Zeichen anlegen, dann könnte 
ich ja sagen:

char Buffer_String_Array[5][20];


Gibt es denn eine Möglichkeit einen eigenen (char) Typen zu definieren, 
der 20 Zeichen beinhalten kann? Diesen Typen könnte ich dann in ein 
Array der Größe 5 packen und der Compiler reserviert mir dann 
automatisch die 100 Byte speicher?


Ich dachte da an:

typedef char Buffer_String_type[20];
Buffer_String_type Buffer_String_Array[5];


Der Code compiliert mir zwar, aber ich bin mir nicht sicher ob das so 
korrekt ist. Und ich wüsst jetzt spontan nicht wie ich herausfinde, dass 
sich meine Software dann auch so verhält wie ich will.
Typedef hab ich bisher eben eher selten gebraucht...

Also kurze Frage, kann ich das so machen wie beschrieben?

Viele Grüße, mcniesf

von Stefan E. (sternst)


Lesenswert?

mcniesf schrieb:
> Also kurze Frage, kann ich das so machen wie beschrieben?

Ja.

von Karl H. (kbuchegg)


Lesenswert?

mcniesf schrieb:

> Typedef hab ich bisher eben eher selten gebraucht...

typedef ist ganz einfach.

Schreib eine ganz normale Variablendefinition hin
1
char MeinString[20];

jetzt setzt du ein typedef davor. Das erzeugt einen Alias für diesen 
durch die Definition beschriebenen Datentyp, wobei das was vorher der 
Variablenname war, zum Namen dieses 'neuen' Datentyps wird.
1
typedef char MeinString[20];

MeinString ist der Name deines neuen Datentyps und er verhält sich genau 
so, wie es vorher die Variable tat.

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.