Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

realloc - переразместить блок памяти

Описание

      realloc изменяет размер ранее выделенного  блока памя-
      ти, на который указывает ptr. Размер этого блока после
      обращения к realloc определяется параметром size. Если
      size равен 0,  блок освобождается и возвращается NULL.
      Если ptr равен  NULL,  то отводится  (по malloc)  size
      байтов памяти и возвращается  указатель на этот массив
      памяти.  Если для расширения  текущего  блока места не
      хватает, будет размещен новый блок, а текущий блок ос-
      вободится. Текущие данные перепишутся в новый блок.

Использование

      #include <stdlib.h>
      void *realloc(void *ptr, unsigned size);     /* ANSI */

Возвращаемое значение

      Возвращается  указатель на переразмещенный  блок памя-
      ти. Если нет подходящей памяти для выполнения realloc,
      возвращается NULL (но память по ptr не освобождается).

Пример

      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      main()
      {
        char *ptr;
        ptr = realloc(NULL, 20*sizeof(char));
        strcpy(ptr, "Это первая часть, ");
        ptr = realloc(ptr, 100*sizeof(char));
        strcat(ptr, "Это вторая часть);
        printf("%s\n", ptr);
        realloc(ptr, 0);
      }

Рекомендация

      Смотрите также  calloc, free, malloc.

оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
87K
16 декабря 2012 года
Paul Gaidarzhy
0 / / 16.12.2012
Мне нравитсяМне не нравится
16 декабря 2012, 02:21:10
Огромное спасибо, очень помогло!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог