Мітка

Мітка у мовах програмування — послідовність символів, що позначає деяке місце у початковому коді. У більшості мов програмування мітка — це ідентифікатор, за яким слідує знак пунктуації (наприклад, двокрапка). У мовах високого рівня мітка є ціллю, на яку здійснює перехід оператор GOTO або подібний. [1] [2] У мові асемблера мітки можуть бути використані у будь-якому місці, де очікується адреса (наприклад, у архітектурі x86 — як операнди інструкцій JMP, MOV чи CALL).[3]

Паскаль

У мові програмування Pascal мітки мають бути описані перед використанням за допомогою оператора LABEL. Перехід на мітку здійснюється оператором GOTO.

C

У мові C мітка не потребує попереднього декларування. Можуть бути присутні кілька міток в одному місці. Мітка складається з ідентифікатора з двокрапкою наприкінці. Мітки є локальними щодо функцій, де вони знаходяться, і складають свій власний простір імен (іншими словами, можливо мати функцію і змінну з таким самим іменем, як і мітка). Перехід на мітку здійснюється оператором goto.

void foo(int number)
{
    if (number < 0)
        goto error;
    bar(number);
    return;
error:
    fprintf(stderr, "Параметр менше нуля\n");
}

У наведеному прикладі error є міткою.

Мітки в операторі switch

Всередині оператора switch можуть зустрічатися два типи міток. Мітка вибору складається з ключового слова case, за яким слідує вираз, що дорівнює цілій константі. Всі ці константні вирази мають бути унікальними. Вибір за замовчуванням позначається міткою, що складається зі слова default (може бути відсутній).

switch (val) {
  default:
      printf("invalid\n");
      break;

  case 1: case 3: case 5:
      printf("непарне\n");
      break;

  case 2: case 4: case 6:
      printf("парне\n");
      break;
}

Див. також

Джерела

  1. C Standard section 6.8.6.1 The goto statement
  2. GOTO Statement QuickSCREEN. Microsoft. 1988. Процитовано 3 липня 2008.
  3. O. Lawlor. nasm x86 Assembly. Процитовано 3 липня 2008.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.