Co właściwie robi (void) var?

Rozważ następującemain():

int main(int argc, char *argv[])
{
    return (0);
}

Po kompilacji zcc -Wall -Wextra, generowane są ostrzeżenia, że ​​„nieużywany parametr”.

Kiedy nie muszę używać parametru w funkcji (na przykład w a.)funkcja obsługi sygnału to nie wykorzystuje jejint parametr), jestem przyzwyczajony do robienia następujących czynności:

  int main(int argc, char *argv[])
  {
      (void)argc;
      (void)argv;
      return (0);
  }

(W tym celumain(), Czasami widzę, jak robią to inni ludzie:argv = argv - argc + argc)

Aleco robi(void)var tak właściwierobić?

Rozumiem, że(void) jest obsadą, więc chyba odrzucam zmienną? Co robivar; line (bez obsady) zrobić? Czy to puste zadanie, pusty wyraz?

Chciałbym zrozumieć, co tak naprawdę się dzieje.

questionAnswers(4)

yourAnswerToTheQuestion