Re(3): C - dynamischer speicher und arrays
Geizhals » Forum » Programmierung » C - dynamischer speicher und arrays (39 Beiträge, 557 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
..  Re(2): C - dynamischer speicher und arrays  (RoHS am 03.10.2008, 14:04:36)
...
Re(3): C - dynamischer speicher und arrays
03.10.2008, 14:39:42
Wie erzeuge ich das Array - zu Begin weiß ich ja noch nicht wie groß das
werden soll.

Wenn ich dann weiß wieviele Elemente mein Array hat wie malloc-e ich den Platz
und bringe dem Array bei, dass es jetzt die und die Größe hat.
( In meinem Fall 4 Elemente, wieviel Platz brauche ich eigentlich für die vier
Zeiger auf meine vier  Strings? )


Ach so, du möchtest es vergrößern können. Das wird dann komplizierter, das ist in C nicht mehr so lustig.

Vielleicht findest du dafür eine fertige library, früher haben wir das immer mit Makros selbst gebastelt. Im wesentlichen gibt es unterschiedliche Ansätze:

1. faul: einfach eine ausreichende Größe vordefinieren/allokieren und hoffentlich mit assert() prüfen, ob sie auch eingehalten wird. Für kleinere, überschaubare Programme reicht das (und ist üblich).

2. sauber: Pascal-typische Arrays über typedef struct + Makros/Funktionen implementieren. Der Array wird ein neuer Datentyp, der auch die aktuelle Größe enthält und bei Bedarf (Zugriff auf Index > Größe) vergrößert wird (realloc() z.B.)

3. andere Programmiersprache verwenden, z.B. C++ (vector ...)

Bez. der Zeiger: N * sizeof(char *) beim malloc() verwenden ...



... “Spam-filters, actually. Once they became self-modifying, spam-filters and spam-bots got into a war to see which could act more human, and since their failures invoked a human judgement about whether their material were convincingly human, it was like a trillion Turing-tests from which they could learn. From there came the first machine-intelligence algorithms, and then my kind.” -- I, Row-Boat

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
....  Re(4): C - dynamischer speicher und arrays  (RoHS am 03.10.2008, 14:53:00)
.....  Re(5): C - dynamischer speicher und arrays  (Switi am 03.10.2008, 15:12:35)
......  Re(6): C - dynamischer speicher und arrays  (RoHS am 03.10.2008, 16:07:32)
.......  Re(7): C - dynamischer speicher und arrays  (Switi am 03.10.2008, 16:11:53)
........  Re(8): C - dynamischer speicher und arrays  (RoHS am 03.10.2008, 16:20:55)
.........  Re(9): C - dynamischer speicher und arrays  (Switi am 03.10.2008, 16:34:37)
..........  Re(10): C - dynamischer speicher und arrays  (Switi am 03.10.2008, 17:43:46)
............  Re(12): C - dynamischer speicher und arrays  (Switi am 03.10.2008, 18:08:10)
..........  Re(10): C - dynamischer speicher und arrays  (RoHS am 03.10.2008, 21:01:36)
.  Re: C - dynamischer speicher und arrays  (black77 am 03.10.2008, 15:54:37)
.  Re: C - dynamischer speicher und arrays  (RoHS am 09.10.2008, 01:52:59)
..  Re(2): C - dynamischer speicher und arrays  (mko am 09.10.2008, 06:37:02)
...  Re(3): C - dynamischer speicher und arrays  (RoHS am 09.10.2008, 06:54:15)
....  Re(4): C - dynamischer speicher und arrays  (mko am 09.10.2008, 06:57:55)
.....  Re(5): C - dynamischer speicher und arrays  (RoHS am 09.10.2008, 07:10:48)
..... Vom Autor zurückgezogen oder Autor hat seine Registrierung nicht bestätigt  (substitute am 09.10.2008, 14:05:55)
......  Re(6): C - dynamischer speicher und arrays  (mko am 09.10.2008, 15:05:34)
......  Re(6): C - dynamischer speicher und arrays  (RoHS am 10.10.2008, 19:24:00)
....  Re(4): C - dynamischer speicher und arrays  (Switi am 09.10.2008, 11:36:26)
.....  Re(5): C - dynamischer speicher und arrays  (RoHS am 09.10.2008, 12:49:10)
......  Re(6): C - dynamischer speicher und arrays  (Switi am 09.10.2008, 12:51:02)
..  Re(2): C - dynamischer speicher und arrays  (Switi am 09.10.2008, 11:55:02)
...  Re(3): C - dynamischer speicher und arrays  (RoHS am 09.10.2008, 12:50:41)
...  Re(3): C - dynamischer speicher und arrays  (RoHS am 10.10.2008, 19:22:53)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung