почему мы используем оператор точка / стрелка для доступа к структурным переменным в c - PullRequest
0 голосов
/ 12 апреля 2020

Я не знаю, почему мы используем это для доступа к переменным. Есть ли стандарты? если есть то, что они?

#include <stdio.h>
struct st {
  int i;
  char ch;
} s;
int main() {
  s.i = 10;
  printf("%d\n", s.i);
}

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

Оператор точки и оператор стрелки не совпадают:

Оператор точки принимает атрибут структуры.
Оператор стрелки принимает атрибут структуры, используемый вами указатель ссылается к.

0 голосов
/ 12 апреля 2020
These two lines are the same thing:
(*(*(*a).b).c).d

a->b->c->d

Это кажется более практичным и более подходящим, иначе вам придется использовать тот, что вверху, который кажется очень трудным для чтения, поэтому мы используем оператор ->, потому что он намного проще.

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