11. 9. 2013

Použít GOTO v C...čku?

Určitě jste už někdy někde slyšeli zda použít "GOTO" příkaz (jump neboli skok) v programovacím jazyku C.
Odpověď zní Ano!, ale jen za podmínky že bude na první pohled jednoznačné co daná funkce dělá. Pokud píšete stavový automat, tak se často používá "switch case statement". Nicméně použití "GOTO" i v tomto případě není na škodu.
Uvedu příklad, kde příkaz "GOTO" často používám:

int main(int argc, char **argv) {
  if ( funkce_A() != USPECH ) goto EXIT_CHYBA;
  if ( funkce_B() != USPECH ) goto EXIT_CHYBA;
  ...
  uvolni_zdroje_A();
  return EXIT_SUCCESS;

 EXIT_CHYBA:
  uvolni_zdroje_A();
  return EXIT_FAILURE;
}


Ukázka reálného použití příkazu goto:

S pozdravem
ViaExplore - Tomáš Kamenický

Žádné komentáře: