Попробуйте:
struct table *create(char *name,int number,char *s_name)
{
struct table *newTable = malloc(sizeof(*newTable));
if (!newTable)
return NULL;
newTable->name = name;
newTable->number = number;
newTable->s_name = s_name;
return newTable;
}
Еще одно предостережение: в этом коде newTable->name
просто указывает на предоставленный name
, копия не создается. Это может быть не то, что вы хотите, но это трудно понять из этого небольшого фрагмента. Альтернативой является дублирование имени. То же самое касается s_name.