Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » character-array, malloc, mehrdimensionaler array...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2003, 22:24 Uhr
DIO



Moin leutz,
ich möchte mehrere stringeingaben vornehmen, jeweils 6 zeichen lang, und die anzahl ist zu beginn noch nicht bekannt.
ich weiß das ich mit
char (*matrix)[6]
einen pointer auf einen 6-er-character-array erzeuge.
Jetzt möchte ich mit
int x, y;
char (*matrix)[6];
..
matrix = (char *)malloc(x*y*(sizeof(char)));
den Speicherbereich den Erfordernissen anpassen.
Da meckert er aber das er char* nicht in char*[6] konvertieren kann.
was muß ich an der ganzen Sache ändern?
hab schon versucht:
matrix = (char * [6])malloc(x*y*(sizeof(char)));
matrix = (char *)[6]malloc(x*y*(sizeof(char)));
matrix = (char *)malloc(x*y*6*(sizeof(char)));
matrix = (char *)malloc(x*y*(sizeof(char [6])));

und alle möglichen abarten....
ich hab leider keinen Plan. Vielen Dank schon im Vorraus für die Mühe.

MFG DIO
--
Wie einst ein großer Mathematiker sagte:
Wir müssen wissen - Wir werden wissen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.06.2003, 08:30 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich würds so machen:

C++:
typedef char matrix_type[6];
matrix_type*  matrix = malloc(sizeof(matrix_type)*anzahl);


Oder bei nicht standard konformen C Compiler:

C++:
typedef char matrix_type[6];
matrix_type*  matrix = (matrix_type*)malloc(sizeof(matrix_type)*anzahl);


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.06.2003, 17:32 Uhr
DIO



Vielen Dank, nebenbei hab ich gestern abend auch noch ne Lösung gefunden, wenns jemand interessiert. (Minimale abwandlung von dem was ich gestern geschrieben hab, aber nur so funktionierts.


Code:
char (* matrix)[6];
matrix = (char (*)[6])malloc(x*y*6*(sizeof(char)));



Vielen Dank nochmals,

MFG DIO
--
Wie einst ein großer Mathematiker sagte:
Wir müssen wissen - Wir werden wissen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: