Label (computer Science)

A label in a programming language is a sequence of characters that identifies a location within source code. In most languages labels take the form of an identifier, often followed by a punctuation character (e.g., a colon). In many high level programming languages the purpose of a label is to act as the destination of a GOTO statement.[1][2] In assembly language labels can be used anywhere an address can (for example, as the operand of a JMP or MOV instruction).[3] Also in Pascal and its derived variations. Some languages, such as Fortran and BASIC, support numeric labels.[4] Labels are also used to identify an entry point into a compiled sequence of statements (e.g., during debugging).


In C a label identifies a statement in the code. A single statement can have multiple labels. Labels just indicate locations in the code and reaching a label has no effect on the actual execution.

Function labels

Function labels consist of an identifier, followed by a colon. Each such label points to a statement in a function and its identifier must be unique within that function. Other functions may use the same name for a label. Label identifiers occupy their own namespace - one can have variables and functions with the same name as a label.

void foo(int number)
    if (number < 0)
        goto error;
    fprintf(stderr, "Invalid number!\n");

Here error is the label. The statement goto can be used to jump to a labeled statement in the code. After a goto, program execution continues with the statement after the label.

Switch labels

Two types of labels can be put in a switch statement. A case label consists of the keyword case, followed by an expression that evaluates to integer constant. A default label consists of the keyword default. Case labels are used to associate an integer value with a statement in the code. When a switch statement is reached, program execution continues with the statement after the case label with value that matches the value in the parentheses of the switch. If there is no such case label, but there is a default label, program execution continues with the statement after the default label. If there is no default label, program execution continues after the switch.

switch (die)

case 1:
case 3:
case 5:

case 2:
case 4:
case 6:

Within a single switch statement, the integer constant associated with each case label must be unique. There may or may not be a default statement. There is no restriction on the order of the labels within a switch. The requirement that case labels values evaluate to integer constants gives the compiler more room for optimizations.



top: //Label the outermost for-loop.
for (var i = 0; i < 4; i++) {
    for (var j = 0; j < 4; j++) {
        if (j === 3 && i === 2) {
            alert("i=" + i + ", j=" + j); //i=2, j=3
            break top;

alert("i=" + i + ", j=" + j); //i=2, j=3

See also


  1. ^ C Standard section The goto statement
  2. ^ "GOTO Statement QuickSCREEN". Microsoft. 1988. Retrieved .
  3. ^ O. Lawlor. "nasm x86 Assembly". Retrieved .
  4. ^ "Differences Between GW-BASIC and QBasic".

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.



Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at Create an account using LinkedIn to manage and organize your omni-channel knowledge. is like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us