Вы не можете сделать это. Это не подходит! Массив в структуре имеет длину 0 символов, и вы пытаетесь вставить в него массив из 100 символов.
Если по какой-то причине вы уверены, что память после структуры доступна, например, Вы только что сделали это так:
some_struct *foo = (some_struct*)malloc(sizeof(some_struct) + 100);
Тогда вы можете сделать это:
memcpy(foo->data, some_data, 100);
Это отвратительно и, вероятно, все еще неопределенное поведение, но я видел API, которые требуют этого (Windows?).