Символ "->", что он означает? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

символ -> что он означает

Решение задачи: «Символ "->", что он означает?»

textual
Листинг программы
typedef struct foo foo_t;
typedef foo_t* foo_ptr;
 
struct foo {
    int field1;
    int field2;
};
 
void
initUsingArrow (foo_ptr data)
{
    data->field1 = 0;
    data->field2 = 1;
}
 
void
initUsingAsterisk (foo_ptr data)
{
    (*data).field1 = 1;
    (*data).field2 = 0;
}

Объяснение кода листинга программы

  1. В первых двух строках объявляются два указателя: foo_t* и foo_ptr.
  2. Далее, в третьей строке, определена структура foo_t с двумя полями типа int: field1 и field2.
  3. В функции initUsingArrow первые две строки используют оператор -> для доступа к полям структуры, которая передается в качестве аргумента.
  4. В функции initUsingAsterisk первые две строки используют оператор * для доступа к полям структуры, которая передается в качестве аргумента.

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы