C Struktur und Speicherbelegung

Wenn Sie Speicherplatz für Speicher, wie Sie sagen, wenn Sie brauchen, um mehr Speicherplatz zugeordnet? Gibt es einen check oder so, die Sie tun können, auf Ihre neue Speicher, um sicherzustellen, dass es tut, OK? ( zugewiesenen Speicher für eine struct).

Weil das, was ich denke ist, dass eine struct ist eine festgelegte Menge an Daten und auch wenn ich pass es um viel, es sollte nie brauchen, mehr als die Größe der Struktur korrekt?

Es ist nicht klar, was Sie gefragt haben. Reden Sie mit malloc zum reservieren von Speicherplatz für ein einzelnes struct-Objekt? Tut struct foo *ptr = malloc(sizeof *ptr); Adresse, was Sie zu tun versuchen?
malloc(sizeof(struct T)) weist immer genau genug Speicherplatz für die Daten in einem struct T. Nicht mehr, aber auch nicht weniger. Keine Notwendigkeit zu prüfen. Wenn das "system memory", d.h. der heap nicht ausreicht, um zu ermöglichen, reservieren, die viel Speicher malloc NULL zurück, die sollte überprüft werden.
ja malloc und @PeterSchneider meinen code gerade angefangen immer langsamer und langsamer, so dass ich Frage mich, ist es, weil ich die struct zu lange auf dem heap ?
Sicher, wenn Sie reservieren GByte Daten-können Sie Ihre Maschine austauscht, ungenutzten Speicher auf der Festplatte, um freien Arbeitsspeicher für die Zuweisungen. Das hätte aber zu viele Zuweisungen. Es ist gute Praxis, free() den Speicher, wenn nicht mehr benötigt.

InformationsquelleAutor user2861799 | 2014-03-26

Schreibe einen Kommentar