C Подпрограмма free () и указатели на увеличенные массивы

Будет ли работать процедура free () , если я динамически выделяю массив, а затем передаю не начальный указатель, а указатель на середину массива? Пример:

int* array = malloc(10 * sizeof *array);
if(array) {

  array += 5; // adjusting the indicies

  free(array);
}

Или мне нужно вернуть указатель на начало массива перед вызовом free () ?

6
задан Dan 24 March 2011 в 03:51
поделиться