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.

28
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 sein?
2408 c  malloc  casting 

13
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 umgekehrt?
780 c  malloc  calloc 

17
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 offensichtlichen Fällen, z. B. wenn mallocsie innerhalb …
538 c  malloc  free 


25
Warum wird die Verwendung von alloca () nicht als bewährte Methode angesehen?
alloca()ordnet Speicher eher auf dem Stapel als auf dem Heap zu, wie im Fall von malloc(). Wenn ich von der Routine zurückkehre, wird der Speicher freigegeben. Tatsächlich löst dies mein Problem, dynamisch zugewiesenen Speicher freizugeben. Die Freigabe des zugewiesenen Speichers bereitet malloc()große Kopfschmerzen und führt, wenn sie irgendwie übersehen wird, …
401 c  stack  malloc  allocation  alloca 

13
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 << p; return 0; } Ich wäre wirklich dankbar, wenn die …

3
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 folgenden Code für einen Benchmark geschrieben. …
256 c  malloc 



23
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 …

5
Inkompatible implizite Deklaration der eingebauten Funktion 'malloc'
Ich erhalte diesen Fehler: Warnung: Inkompatible implizite Deklaration der eingebauten Funktion 'malloc' Ich versuche das zu tun: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Nur als Referenz wird folgende Struktur verwendet: typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; Ich sehe nichts falsch an dem, was ich getan …
155 c  struct  malloc 




8
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 etwas in der Art sagt: Wir …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.