Освобождение указателя после арифметики указателя

Мой вопрос очень простой. Допустим, у нас есть:

char* ptr = (char*) malloc(sizeof(char)*SIZE);
ptr+= SIZE/2;
free(ptr);

Что происходит, когда мы освобождаем указатель? Это неопределенная операция? Освобождает ли он весь буфер SIZE или только оставшийся размер SIZE / 2? Thanks in advance for disambiguating this for me.

5
задан Lefteris 16 May 2011 в 06:05
поделиться