#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct contact {
char name[30];
int phone_number;
char address [30];
};
int main(int argc, char **argv) {
struct contact friend;
strcpy(friend.name, "Jane Doe");
friend.phone_number = 377177377;
strcpy(friend.address, "3771 University Avenue");
char *name;
int number;
char *address;
update_contact(&friend, name, number, address);
return 0;
}
Мне нужно реализовать функцию update_contact
для обновления контактной информации.friend
и number
являются нормальными переменными.*name
и *address
являются указателями.Но для вызова функции также используется адрес указателя friend
, который равен &friend
.Теперь я очень озадачен тем, что я должен добавить в параметры функции.
Я пытался вставить указатели.
void update_contact (struct *c, char *name, int number, char *address) {
c->name = name;
c->phone_number = number;
c->address = address;
}
Однако это приводит к множеству ошибок, таких как
error: request for member 'address' in something not a structure or union
&c->address = address;
Как я могу это исправить?Спасибо
Это исправленная версия.Спасибо Томас Джагер и немного имени.
void update_contact (struct contact *c, char *name, int number, char *address) {
strcpy(c->name, name);
c->phone_number = number;
strcpy(c->address, address);
}