Domande taggate «malloc»

La funzione malloc esegue l'allocazione dinamica della memoria in C e fa parte della libreria standard. Utilizza questo tag per domande sull'utilizzo, il comportamento e le implementazioni di malloc.

28
Devo lanciare il risultato di malloc?
In questa domanda , qualcuno ha suggerito in un commento che avrei dovuto non lanciare il risultato di malloc, vale a dire int *sieve = malloc(sizeof(int) * length); piuttosto che: int *sieve = (int *) malloc(sizeof(int) * length); Perché dovrebbe essere così?
2408 c  malloc  casting 

13
Differenza tra malloc e calloc?
Qual è la differenza tra fare: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); o: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Quando è una buona idea usare calloc su malloc o viceversa?
780 c  malloc  calloc 

17
Cosa succede DAVVERO quando non ti liberi dopo malloc?
Questo è stato qualcosa che mi ha infastidito per secoli. A scuola ci viene insegnato (almeno lo ero) che DEVI liberare ogni puntatore assegnato. Sono un po 'curioso, però, del costo reale di non liberare memoria. In alcuni casi ovvi, come quando mallocviene chiamato all'interno di un ciclo o parte …
538 c  malloc  free 

19
In quali casi utilizzo malloc e / o new?
Vedo in C ++ che ci sono diversi modi per allocare e liberare dati e capisco che quando chiami mallocdovresti chiamare freee quando usi l' newoperatore dovresti accoppiarti deleteed è un errore mescolare i due (es. Chiamare free()su qualcosa che è stato creato con l' newoperatore), ma non sono chiaro …

25
Perché l'uso di alloca () non è considerato una buona pratica?
alloca()alloca memoria nello stack anziché nell'heap, come nel caso di malloc(). Quindi, quando torno dalla routine, la memoria viene liberata. Quindi, in realtà, questo risolve il mio problema di liberare memoria allocata dinamicamente. La liberazione della memoria allocata attraverso malloc()è un grosso mal di testa e se in qualche modo …
401 c  stack  malloc  allocation  alloca 

13
Come funzionano malloc () e free ()?
Voglio sapere come malloce freelavoro. 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; } Le sarei davvero grato se la risposta …

3
Perché malloc + memset è più lento di calloc?
È noto che callocè diverso dal fatto mallocche inizializza la memoria allocata. Con calloc, la memoria è impostata su zero. Con malloc, la memoria non viene cancellata. Quindi, nel lavoro di tutti i giorni, io considero calloccome malloc+ memset. Per inciso, per divertimento, ho scritto il seguente codice per un …
256 c  malloc 



23
Impostazione variabile su NULL dopo libero
Nella mia azienda esiste una regola di codifica che dice che, dopo aver liberato la memoria, reimpostare la variabile su NULL. Per esempio ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Sento che, in casi come il codice mostrato sopra, …

5
Dichiarazione implicita incompatibile della funzione integrata 'malloc'
Ricevo questo errore: avvertenza: dichiarazione implicita incompatibile della funzione integrata 'malloc' Sto provando a fare questo: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Solo per riferimento la struttura usata a portata di mano è: typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; Non vedo nulla di sbagliato in …
155 c  struct  malloc 




8
Malloc vs nuovo - imbottitura diversa
Sto esaminando il codice C ++ di qualcun altro per il nostro progetto che utilizza MPI per il calcolo ad alte prestazioni (10 ^ 5 - 10 ^ 6 core). Il codice ha lo scopo di consentire comunicazioni tra macchine (potenzialmente) differenti su architetture differenti. Ha scritto un commento che …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.