Путаница в отношении передачи обозначения стрелки в качестве аргумента при вызове функции в C - PullRequest
0 голосов
/ 25 марта 2020

У меня небольшие затруднения с пониманием конкретной концепции относительно указателей. Я включил код относительно моей конкретной ситуации ниже. Вот часть кода, о котором идет речь.

У нас есть структура, которая содержит ряд структур в качестве членов.

struct Contact
{
    struct Name name;
    struct Address address;
    struct Numbers numbers;



};

Теперь в основном файле есть вызов определения функции который передает адрес структуры Contact этому определению функции передается в функции GetName или GetAddress et c. Теперь я знаю, что обозначение стрелки дает доступ к членам структуры, на которую «указывает» указатель, но я не совсем уверен, что здесь передается? Я предполагаю, что мы передаем адрес члена структуры, на которую указывает указатель? или это то, что мы передаем адрес самого указателя?

Это передается этой функции

void getName(struct Name* name)
{


    printf("Please enter the contact's first name: ");
    scanf("%[^\n]", name->firstName); 
    clearKeyboard();
}

Так что мне было интересно, может ли кто-нибудь шаг за шагом объяснить, что происходит или именно то, что передается, особенно когда мы передаем обозначение стрелки в качестве параметра вперед. У меня больше всего с этим проблем. Большое спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...