[C] Zachowanie realloc w przypadku błędu

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
dawwin
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 202
Rejestracja: 18 kwie 2009, 09:16
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

[C] Zachowanie realloc w przypadku błędu

Post 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
kklimonda
Zakręcona Traszka
Zakręcona Traszka
Posty: 585
Rejestracja: 20 kwie 2008, 04:21
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME

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

Post autor: kklimonda »

za man realloc:

Kod: Zaznacz cały

If realloc() fails the original block is left untouched; it is not freed or moved.
kof
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 08 cze 2010, 10:20
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Architektura: x86

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

Post autor: kof »

ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość