Функция malloc

Прототип функции malloc:

void * malloc( size_t sizemem );
Название Язык
stdlib.h С
cstdlib С++

Описание

Функция malloc выделяет блок памяти, размером sizemem байт, и возвращает указатель на начало блока.

Содержание выделенного блока памяти не инициализируется, оно остается с неопределенными значениями.

Параметры:

  • sizemem
    Размер выделяемого блока памяти в байтах.

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

Указатель на выделенный блок памяти. Тип данных на который ссылается указатель всегда void*, поэтому это тип данных может быть приведен к желаемому типу данных.
Если функции не удалось выделить требуемый блок памяти, возвращается нулевой указатель.

Пример: исходный код программы

//пример использования функции malloc
#include <iostream>
#include <cstdlib>

int main()
{
  int len;

  std::cout << "Укажите длину строки в символах: ";
  std::cin >> len;

  char * buffer = (char*) malloc(len + 1);          // динамическое выделение памяти под символьную строку
  if (buffer==NULL) exit (1);                       // если выделение памяти не выполнилось, завершить программу

  for (int ix = 0; ix < len; ix++)
    buffer[ix] = rand() % 26 + 'a';
  buffer[len]='\0';                                 // нулевой элемент

  std::cout << "Случайная строка: " << buffer << "n";
  free(buffer);                                     // освобождаем память

  return 0;
}

Пример работы программы

Эта программа создает строку длиной указанный пользователем и заполняет её символами алфавита. Возможная длина этой строки ограничена только количеством свободной памяти в системе, которую malloc может выделить.

CppStudio.com
Укажите длину строки в символах: 17
Случайная строка: nwlrbbmqbhcdarzow
Автор: admin
Дата: 03.09.2012
Поделиться:

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

Вы должны войти, чтобы оставить комментарий.