Мі́тка у мовах програмування — послідовність символів, що позначає деяке місце у початковому коді. У більшості мов програмування мітка — це ідентифікатор, за яким слідує знак пунктуації (наприклад, двокрапка). У мовах високого рівня мітка є ціллю, на яку здійснює перехід оператор 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 (оператор)

Всередині оператора 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. Архів оригіналу за 24 грудня 2007. Процитовано 20 січня 2018.
  2. GOTO Statement QuickSCREEN. Microsoft. 1988. Архів оригіналу за 25 липня 2009. Процитовано 3 липня 2008.
  3. O. Lawlor. nasm x86 Assembly. Архів оригіналу за 21 січня 2018. Процитовано 3 липня 2008.