需要创建一个函数来调用另一个函数

时间:2017-12-15 02:54:04

标签: c

我需要使用此函数来访问名为“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 *);
  • 此函数不返回值,但有一个参数接收指向a的指针 接触。
  • 此功能的目的是使用指针设置Contact的值 参数变量(设置它指向的联系人)。
  • 使用接收到此函数的指针参数,为“get”函数(getName)提供相应的Contact成员,以设置Contact的值。

1 个答案:

答案 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" );
    }
 }

这里的关键思想是我们将变量的地址传递给函数,然后对变量进行更改,然后对其进行更改。

这里显示了一组基本操作。您可以对其进行扩展以获得更多输入。这个答案提供了这样做的基本方法。