我需要使用此函数来访问名为“getName”的函数我不知道该怎么做,因为我已经尝试了几次但没有成功。请帮帮我一点
struct Name {
char firstName[31];
char middleInitial[7];
char lastName[36];
};
struct Contact {
struct Name name;
struct Address address;
struct Numbers number;
};
void getName(struct Name *name);
void getContact(struct Contact *contact);
void getName(struct Name *name)
{
char Initial;
printf("Please enter the contact's first name: ");
scanf("%s" , name->firstName);
}
void getContact(struct Contact *);
答案 0 :(得分:2)
有一种简单的方法可以做到这一点。您将指针传递给要更改的struct
变量。然后相应地获得输入。
struct Contact contact;
...
...
getContact(&contact);
然后在getContact()
void getContact(struct Contact *contact){
getName(&(contact->name));
...
}
在getName()
void getName(struct Name *name){
if( scanf("%30s",name->firstName)!= 1){
fprintf(stderr, "%s\n","Error in input" );
}
}
这里的关键思想是我们将变量的地址传递给函数,然后对变量进行更改,然后对其进行更改。
这里显示了一组基本操作。您可以对其进行扩展以获得更多输入。这个答案提供了这样做的基本方法。