Мітка

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Мітка у мовах програмування — послідовність символів, що позначає деяке місце у початковому коді. У більшості мов програмування мітка — це ідентифікатор, за яким слідує знак пунктуації (наприклад, двокрапка). У мовах високого рівня мітка є ціллю, на яку здійснює перехід оператор 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
  2. GOTO Statement QuickSCREEN. Microsoft. 1988. Процитовано 2008-07-03. 
  3. O. Lawlor. nasm x86 Assembly. Процитовано 2008-07-03.