我想创建一个执行以下操作的代码:
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语言很陌生。
您可以将scanf与这样的struct一起使用。
对于名称,您需要使用c内置函数来进行复制...结构的其他字段可以直接分配