Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
15.11.2002, 23:30
ludi



hi!

mich würde mal der genaue zusammenhang zwischen pointern und arrays interessieren. in allen dokumenten, die ich habe(bücher und ebooks), wird es nicht wirklich gut beschrieben...

€: glatt vergessen: es handelt sich natürlich um c/c++ ;)

--

diese nachricht besteht aus 100% reseiclelebaren eläktronen und 0% rächdschreibfelern ;)
[ich weiß nur, dass ich nichts weiß][!!!!!!!!!gebt TCPA keine Change!!!!!!!!!]
--==check out my new homepage==--

mfg ludi[-][i]


Dieser Beitrag wurde am 15.11.2002 um 23:32 von ludi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
16.11.2002, 11:02
snoopdog



HI,
Pointer sind eiger auf Speicherstellen. Die Speichern nur den Speicherplatz im Ram. UNd Array sind Speicherplätze im Ram die hintereinander abgelegt sind, z.B. für einen String

char bla[3];

dann sieht das im speicher so aus:

Quellcode:
_____________________
|_0_ |1 ___|2__|3____|

so dann kommt das erste Zeichen in 0 das zweite in 1 das dritte in 3 usw.

nen Pointer zeigt auf die Speicherstelle vor 0.
Man kann auch Pointer auf ein Array machen das würde dann so aussehen

char *bla[3];

dann hätte man 3 Pointer. Der erste zeigt auf 0 der zweite auf 1 usw.
So könnte man z.B. 3 Strings abspeichern.
Hoffe ich hab es einigermaßen begrewifbar erklärt.
PS: Du musst wenn du z.B. strings abspeichern willst, speicher reservieren.

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
002
16.11.2002, 11:33
ludi



ok, aber mich würde der genaue zusammenhang noch etwas interresierten ;)
ich habe z.b. follgendes prob gehabt:

char * text="text text text";

da ist mein prog aber abgekratzt. es ging erst, als ich es so gemacht habe:

char text[]="text text text";

wo liegt da jetzt der genaue unterschied?

--

diese nachricht besteht aus 100% reseiclelebaren eläktronen und 0% rächdschreibfelern ;)
[ich weiß nur, dass ich nichts weiß][!!!!!!!!!gebt TCPA keine Change!!!!!!!!!]
--==check out my new homepage==--

mfg ludi[-][i]

zum Seitenanfang zum Seitenende Profil || Suche
003
16.11.2002, 11:49
snoopdog



öhm char text[] ist nen öhm ich weiß es grad selbst nciht genau, aber es müsste eigentlich nen Array sein. Was halt die größe annimt wenn man ihm den Werrt ("text text text") übergibt. aber eigneltich soltlest du const char bla[] schreiben. Das des net mehr geändert werden kann.
Naja und Beim ersten isses so, was ich oben geschrieben hab, du musst erst Speicher reservieren. Die c++ sache würde dann so aussenen

Quellcode:
char *bla;

bla = new char[10];

bla = "text text";

delete bla;

das nennt sich dann dynamsiche Speicherverwaltung. Das Beispiel war jetzt recht sinnlos udn überflüsig, aber man könnte es ja auch so machen
Quellcode:

char *bla;
int i;
printf("Wie viele zeichen sol der strin fassen?");
scanf("%d",&i);

bla = new char[sizeof(i)];

gets(bla);

printf("%s",bla);

delete bla;

so kannst du deinem Programm während der Laufzeit sagen, wieviel Speicher er reservieren soll. ok ??

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
004
16.11.2002, 13:00
ludi



das mit dem new und deltre klingt ganz nett :) ich glaub, ich habs jetzt schon fast verstanden. den rest werde ich mir dann selber erarbeiten. thx u :)

--

diese nachricht besteht aus 100% reseiclelebaren eläktronen und 0% rächdschreibfelern ;)
[ich weiß nur, dass ich nichts weiß][!!!!!!!!!gebt TCPA keine Change!!!!!!!!!]
--==check out my new homepage==--

mfg ludi[-][i]


Dieser Beitrag wurde am 16.11.2002 um 13:01 von ludi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche