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
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.
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
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
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...
Ich sehe in C ++, dass es mehrere Möglichkeiten gibt, Daten zuzuweisen und freizugeben, und ich verstehe, dass Sie beim Aufrufen anrufen mallocsollten freeund wenn Sie den newOperator verwenden, mit dem Sie koppeln sollten, deleteund es ein Fehler ist, die beiden zu mischen (z. B. Aufrufen...
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...
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...
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...
Was ist ein
Heute habe ich Seite 167 von The C Programming Language (zweite Ausgabe Brian W. Kernighan & Dennis M. Ritchie) erreicht und festgestellt, dass der Autor sagt, ich muss besetzen malloc. Hier ist der Teil aus dem Buch: 7.8.5 Speicherverwaltung Die Funktionen malloc und calloc erhalten...
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...
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...
Ich habe gerade diesen Code gesehen: artist = (char *) malloc(0); ... und ich fragte mich, warum man das tun
Ich habe herumgegoogelt und festgestellt, dass die meisten Leute die Verwendung von befürworten kmalloc, da Sie garantiert zusammenhängende physische Speicherblöcke erhalten. Es scheint jedoch auch so, als ob kmalloces fehlschlagen kann, wenn ein zusammenhängender physischer Block, den Sie möchten,...
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...
Wenn ich mallocin meinem Code verwende: int *x = malloc(sizeof(int)); Ich bekomme diese Warnung von gcc: new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompatible implicit declaration of built-in function
In einem Projekt hat jemand diese Zeile verschoben: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); Was angeblich ein zweidimensionales Array von (n + 1) * (n + 1) verdoppelt. Angeblich , sage ich, weil mir bisher niemand, den ich gefragt habe, genau sagen konnte, was dies bewirkt, woher es stammt...
Mir wurde gesagt, dass der folgende Code bis C ++ 20 ein undefiniertes Verhalten aufweist: int *p = (int*)malloc(sizeof(int)); *p = 10; Ist das wahr? Das Argument war, dass die Lebensdauer des intObjekts nicht vor dem Zuweisen des Werts gestartet wird ( P0593R6 ). Um das Problem zu beheben,...
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....
Um es klar zu machen: Ich weiß das mallocund bin freein der C-Bibliothek implementiert, die normalerweise Speicherblöcke vom Betriebssystem zuweist und eine eigene Verwaltung durchführt, um kleinere Speichermengen an die Anwendung zu verteilen und die Anzahl der zugewiesenen Bytes zu verfolgen ....
Ich programmiere eine Anwendung in Objective-C und erhalte folgende Fehlermeldung: MyApp (2121,0xb0185000) malloc: *** Fehler für Objekt 0x1068310: double free *** Setzen Sie einen Haltepunkt in malloc_error_break zum Debuggen Es passiert, wenn ich einen NSAutoreleasePool veröffentliche und nicht...