Каков механизм выделения битов под участок памяти - C (СИ)

Формулировка задачи:

Кто нибудь знает механику выделения битов под участок памяти? Суть в чем:
  1. Объявил функцию, в ней забрал кусок динамической памяти, вышел из функции, отдал "вверх" ссылку на адрес этого участка. (статики не объявляю, автоматические переменные все схлопнулись).
  2. Зашел в другу функцию, получил в фактически в стек копию той ссылки, играюсь с ней (инкрементируя саму ссылку, уходя в середину участка) копию полученной ссылки умышленно не объявлял.
Хочу узнать сколько осталось позиций между тем участком на котором я сейчас нахожусь и концом динамического куска, возможно так? Есть такая удобная функция, memset, скармливая ей ссылку на текущую позицию в участке (как я понял, не обязательно адрес начала), она может обнулить участок. Откуда ей известен конец участка? Есть какой-то признак конца участка или данная функция забирает инфу от windows-планировщика памяти? Окружение: мастдайка 8, visual studio 12

Код к задаче: «Каков механизм выделения битов под участок памяти - C (СИ)»

textual
char **myRealloc(char **cTextBuffer){
 
    char * tmpCTB;
 
    if ((tmpCTB = (char *)calloc(sizeof(char), (size_t)(bLetterCounter + 1lu))) != NULL) {
        memcpy(tmpCTB, *cTextBuffer, (size_t)bLetterCounter * sizeof(char)); 
 
        free(*cTextBuffer);
        *cTextBuffer = tmpCTB;
    } 
    return cTextBuffer;
}

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

15   голосов, оценка 3.667 из 5


СОХРАНИТЬ ССЫЛКУ