Problem mit Code (malloc)
-
könntest du mir das mal vllt mal anhand meines codes zeigen ? ich weiss grad nicht so genau was du meinst.
PS bin noch ein Anfänger in C
-
Swordfish schrieb:
Es heißt
int main(void), nichtint main().Da bist du übereifrig.
int main()ist auch in C 100% ok.
-
hm. War das mal anders?
-
Swordfish schrieb:
hm. War das mal anders?
Nein. Und der Tipp mit dem abschließenden Leerzeichen in scanf ist auch ziemlich schlecht.
-
yay.
-
wäre super wenn man mir unter meinem Beitrag weiterhelfen könnte

-
Das NewLine-Zeichen (Enter) ist noch im Eingabepuffer und daher wird bei fgets() eine leere Zeile eingelesen.
-
wie kann ich dieses Problem lösen ?
-
Guckst du hier: https://www.c-plusplus.net/forum/p1146014#1146014
Und wenn wir schon dabei sind (irgendeiner wird es eh schreiben):
sizeof(char)ist per Definition 1.
Die Multiplikation ist daher nicht nötig.Der Erfolg von
mallocsollte auch geprüft werden.Und das
freefehlt auch am Ende (auch wenn es nach demreturnautomatisch gemacht wird)
-
DirkB schrieb:
[...] (auch wenn es nach dem
returnautomatisch gemacht wird)Ist das so standarddefiniert?
-
Fragensteller2 schrieb:
DirkB schrieb:
[...] (auch wenn es nach dem
returnautomatisch gemacht wird)Ist das so standarddefiniert?
Nicht vom C-Standard. Aber von allerlei Betriebssystemen garantiert. Nichtsdestotrotz ist es eine gute Angewohnheit immer alle Ressourcen sauber frei zu geben, denn nicht alle (sowohl Betriebssysteme als auch Ressourcen) haben solche Garantien.