Что делает malloc в этом коде? - PullRequest
5 голосов
/ 31 июля 2009

Не могли бы вы объяснить следующий код?

str = (char *) malloc (sizeof(char) * (num+1));
  1. Что здесь делает malloc?
  2. Почему используется num + 1?

Ответы [ 11 ]

0 голосов
/ 31 июля 2009

Malloc - это вызов для выделения памяти.

Приведенный выше код выделит место для num + 1 символов. Скорее всего, есть строка с num символами, и автор кода добавил место для нулевого терминатора.

После вызова str будет указывать на начало того блока памяти, который был выделен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...