我需要使用此函数来访问名为“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 *);
- 该函数不返回值,但有一个参数,该参数接收指向 联系方式。
- 此函数的目的是使用指针设置联系人的值 参数变量(设置它指向的联系人)。
- 使用此函数接收到的指针参数向“get”函数 (getName) 提供适当的联系人成员,以设置联系人的值。
最佳答案
有一个简单的方法可以做到这一点。您将指针传递给要更改的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" );
}
}
这里的关键思想是我们将变量的地址传递给函数,然后更改变量以取消引用它。
这里显示了一组基本操作。您可以对其进行扩展以获得更多输入。这个答案提供了执行此操作的基本方法。
关于c - 需要创建一个函数来调用另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825146/