Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Pointerarray

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
04.04.2004, 13:58 Uhr
~Karin
Gast


Hab ein Problem bin sitze gerade an meinem ersten C++ Programm und bekomme es einfach nicht hin ein pointerarray zu erzeugen das ich aber erst nach einer methode die ich ausführen muss initialisiere!

also
char* p[];

programmteil

p=new char[k];

funktioniert nicht

HILFE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.04.2004, 14:54 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


willst du ein konstantes array dann so


C++:
char myconstarray[100];



willst du ein dynamisches array (also eins wo die grösse erst zur laufzeit feststeht dann so


C++:
int anzahl=100; //oder wie auch immer du die gewüsnchte grösse in anzahl bekommst...
char *mydynarray=new char[anzahl];

//mit dem array arbeiten

delete [] mydynarray;  //am ende das speicherfreigeben nicht vergessen



wenn du richtig viel speicher allokieren willst solltest du besser immer die new methode wählen weil der speicher auf dem stack doch arg begrenzt ist...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.04.2004, 15:06 Uhr
stephanw
localhorst



Zitat:

char* p[];

programmteil

p=new char[k];



Dein Problem ist ein falscher Datentyp: new char[k] liefert einen Zeiger auf ein Array von char mit k Elementen. p ist jedoch ein Array von char*, also ein Array von Zeigern auf char, bei dem die Größenangabe fehlt. Wenn Du ein Array von char mit dynamischer Größe haben willst, musst Du die [] hinter p weglassen:

C++:
char* p;
p = new char[k];


Wenn Du ein Feld von Zeigern auf char haben willst:

C++:
char** p;
p = new char*[k];


--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.04.2004, 15:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@stephanw
gut das wenigstens du das richtig gelesen hast... Ich hab mal wieder geantwortet ohne die frage richtig zu lesen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.04.2004, 15:42 Uhr
stephanw
localhorst


@windalf:




--
Reden ist Schweigen und Silber ist Gold.
 
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: