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

Узнай цену своей работы

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

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

Решение задачи: «Каков механизм выделения битов под участок памяти»

textual
Листинг программы
  1. char **myRealloc(char **cTextBuffer){
  2.  
  3.     char * tmpCTB;
  4.  
  5.     if ((tmpCTB = (char *)calloc(sizeof(char), (size_t)(bLetterCounter + 1lu))) != NULL) {
  6.         memcpy(tmpCTB, *cTextBuffer, (size_t)bLetterCounter * sizeof(char));
  7.  
  8.         free(*cTextBuffer);
  9.         *cTextBuffer = tmpCTB;
  10.     }
  11.     return cTextBuffer;
  12. }

Объяснение кода листинга программы

  1. В функции myRealloc принят указатель на строку символов в качестве аргумента.
  2. Выделен новый блок памяти с помощью функции calloc для строки символов, увеличенной на единицу, относительно исходной строки.
  3. Значение bLetterCounter увеличивается на единицу относительно значения, переданного в функцию myRealloc.
  4. Выполняется копирование символов из исходной строки в новую строку с использованием функции memcpy.
  5. В функции free освобождается память, выделенная под исходную строку символов.
  6. В функцию возвращается обновленный указатель на новую строку символов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

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

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

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

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы