Als «malloc» getaggte Fragen

Die Malloc-Funktion führt eine dynamische Speicherzuweisung in C durch und ist Teil der Standardbibliothek. Verwenden Sie dieses Tag für Fragen zur Verwendung, zum Verhalten und zur Implementierung von malloc.

2408
Werfe ich das Ergebnis von Malloc?

In dieser Frage schlug jemand in einem Kommentar vor, dass ich das Ergebnis von nicht besetzen sollte malloc, dh int *sieve = malloc(sizeof(int) * length); eher, als: int *sieve = (int *) malloc(sizeof(int) * length); Warum sollte das so

780
Unterschied zwischen Malloc und Calloc?

Was ist der Unterschied zwischen: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); oder: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Wann ist es eine gute Idee, Calloc über Malloc zu verwenden oder

538
Was passiert WIRKLICH, wenn Sie nach malloc nicht frei sind?

Das hat mich schon seit Ewigkeiten gestört. In der Schule wird uns allen beigebracht (zumindest war ich das), dass Sie jeden zugewiesenen Zeiger freigeben MÜSSEN. Ich bin allerdings etwas neugierig auf die tatsächlichen Kosten, die entstehen, wenn kein Speicher freigegeben wird. In einigen...

276
Wie funktionieren malloc () und free ()?

Ich möchte wissen wie mallocund freearbeiten. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout...

256
Warum ist malloc + memset langsamer als calloc?

Es ist bekannt, dass dies callocanders ist als mallocdarin, dass der zugewiesene Speicher initialisiert wird. Mit callocwird der Speicher auf Null gesetzt. Mit mallocwird der Speicher nicht gelöscht. In der täglichen Arbeit betrachte ich also callocals malloc+ memset. Übrigens habe ich zum Spaß den...

156
Setzen der Variablen nach free auf NULL

In meiner Firma gibt es eine Codierungsregel, die besagt, dass die Variable nach dem Freigeben von Speicher auf zurückgesetzt wird NULL. Zum Beispiel ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Ich habe das Gefühl, dass in Fällen wie dem...

110
Malloc vs new - andere Polsterung

Ich überprüfe den C ++ - Code eines anderen für unser Projekt, das MPI für Hochleistungsrechnen verwendet (10 ^ 5 - 10 ^ 6 Kerne). Der Code soll die Kommunikation zwischen (möglicherweise) verschiedenen Maschinen auf verschiedenen Architekturen ermöglichen. Er hat einen Kommentar geschrieben, der...

85
Warum erhalte ich einen C-Malloc-Assertionsfehler?

Ich implementiere einen Divide and Conquer-Polynomalgorithmus, damit ich ihn mit einer OpenCL-Implementierung vergleichen kann, aber ich kann nicht mallocarbeiten. Wenn ich das Programm ausführe, ordnet es eine Menge Dinge zu, überprüft einige Dinge und sendet sie dann size/2an den Algorithmus....