Вам нужно #include <stdlib.h>
, чтобы получить правильное объявление malloc
.
Также sizeof(name_bytes) + 1
выглядит подозрительно;это даст вам 5 байт памяти, а не 101, как вы, вероятно, ожидали.
Наконец, нет необходимости приводить возвращаемое значение malloc
в C, поскольку оно возвращает void*
.
#include <stdlib.h>
/* ... */
int name_bytes = 100;
char* name = malloc(name_bytes + 1);