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