使用C语言中的给定字符串创建结构名称

我想创建一个执行以下操作的代码:

typedef struct {
  char name[1024];
  int age;
  char gender;
}person;

person Jacob = {.name = "Jacob", .age = 15, .gender = 'M'};

但是我需要使用scanf选项来获取变量,如下所示:

typedef struct {
   char name[1024];
   int age;
   char gender;
}person;

char name_person[1024];
int age_person;
char gender_person;
scanf(" [:^\n],%d,%c",name_person,&age_person,&gender_person);

我会知道是否可以执行以下操作:

person name_person = {.name = name_person, .age = age_person, .gender = gender_person};

要执行与上面的代码相同的事情?如果这听起来像个愚蠢的问题,我感到很抱歉,我对C语言很陌生。