Strona 1 z 1

[C] Zachowanie realloc w przypadku błędu

: 14 cze 2010, 19:25
autor: dawwin
Nigdzie nie znalazłem informacji, co robi realloc z wcześniej zaalokowaną pamięcią, jeśli zwróci NULL. Pamięć jest zwalniana, czy dalej można się do niej odwoływać?
Przykład:

Kod: Zaznacz cały

char *a = (char *) malloc(1);
char *b = a;
*a = 4;
a = (char *) realloc(a, 999999999999); // zwraca błąd
//i teraz pytanie, czy odwołanie się do zawartości wskazywanej przez b jest poprawne

Odp: [C] Zachowanie realloc w przypadku błędu

: 14 cze 2010, 19:47
autor: kklimonda
za man realloc:

Kod: Zaznacz cały

If realloc() fails the original block is left untouched; it is not freed or moved.

Odp: [C] Zachowanie realloc w przypadku błędu

: 15 cze 2010, 07:52
autor: kof