Pytania oznaczone «malloc»

Funkcja malloc wykonuje dynamiczną alokację pamięci w języku C i jest częścią biblioteki standardowej. Użyj tego tagu, jeśli masz pytania dotyczące użycia, zachowania i implementacji malloc.

2406
Czy rzucam wynik malloc?

W tej kwestii , ktoś sugerowane w komentarzu , że powinienem nie rzucać wynik malloc, czyli int *sieve = malloc(sizeof(int) * length); zamiast: int *sieve = (int *) malloc(sizeof(int) * length); Dlaczego miałoby tak

779
Różnica między malloc a calloc?

Jaka jest różnica między robieniem: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); lub: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Kiedy warto używać calloc zamiast malloc lub

538
Co NAPRAWDĘ dzieje się, gdy nie zwalniasz po Malloc?

To mnie martwiło od wieków. Wszyscy uczymy się w szkole (przynajmniej ja byłem), że MUSISZ uwolnić każdy przydzielony wskaźnik. Jestem jednak trochę ciekawy, jakie są rzeczywiste koszty nie zwalniania pamięci. W niektórych oczywistych przypadkach, takich jak mallocwywołanie w pętli lub części...

276
Jak działają malloc () i free ()?

Chcę wiedzieć jak malloci freepracować. 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
Dlaczego zestaw malloc + jest wolniejszy niż calloc?

Wiadomo, że callocróżni się od malloctego, że inicjalizuje przydzieloną pamięć. Za callocpomocą pamięć jest ustawiona na zero. Zmalloc pomocą pamięć nie zostanie wyczyszczona. Tak więc w codziennej pracy uważam callocza malloc+memset . Nawiasem mówiąc, dla zabawy napisałem następujący kod dla...

156
Ustawienie zmiennej na NULL po zwolnieniu

W mojej firmie obowiązuje zasada kodowania, która mówi, że po zwolnieniu pamięci należy zresetować zmienną do NULL. Na przykład ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Czuję, że w przypadkach takich jak w kodzie pokazanym powyżej,...

155
Niezgodna niejawna deklaracja funkcji wbudowanej „malloc”

Otrzymuję ten błąd: ostrzeżenie: niekompatybilna niejawna deklaracja funkcji wbudowanej „malloc” Próbuję to zrobić: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Dla porównania, struktura używana pod ręką to: typedef struct { fileinfo** filedata; size_t nFiles; size_t size;...

113
Jaka jest różnica między vmalloc i kmalloc?

Przeszukałem go i zauważyłem, że większość ludzi opowiada się za używaniem kmalloc, ponieważ masz gwarancję, że otrzymasz ciągłe fizyczne bloki pamięci. Jednak wydaje się również, że kmallocmoże się nie powieść, jeśli nie można znaleźć ciągłego fizycznego bloku, którego chcesz. Jakie są zalety...

110
Malloc vs New - inna wyściółka

Sprawdzam czyjś kod C ++ dla naszego projektu, który używa MPI do obliczeń o wysokiej wydajności (10 ^ 5 - 10 ^ 6 rdzeni). Kod ma umożliwić komunikację między (potencjalnie) różnymi maszynami na różnych architekturach. Napisał komentarz, który mówi coś w rodzaju: Zwykle używamy newi delete, ale...

85
Dlaczego otrzymuję błąd asercji C malloc?

Implementuję algorytm wielomianowy dziel i zwyciężaj, więc mogę porównać go z implementacją OpenCL, ale nie mogę zabrać się mallocdo pracy. Kiedy uruchamiam program, przydziela on kilka rzeczy, sprawdza niektóre rzeczy, a następnie wysyła size/2do algorytmu. Następnie, kiedy mallocponownie...