Мітка
Мітка у мовах програмування — послідовність символів, що позначає деяке місце у початковому коді.
У більшості мов програмування мітка — це ідентифікатор, за яким слідує знак пунктуації (наприклад, двокрапка). У мовах високого рівня мітка є ціллю, на яку здійснює перехід оператор 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;
}
Див. також
- GOTO
- Номер рядка
- Switch (оператор)
Джерела
- C Standard section 6.8.6.1 The goto statement
- GOTO Statement QuickSCREEN. Microsoft. 1988. Процитовано 3 липня 2008.
- O. Lawlor. nasm x86 Assembly. Процитовано 3 липня 2008.