Label
A label is a named code location or construct that control-flow operations can reference as a target.
Modern C, Third Edition
A label is an identifier followed by a colon that marks a statement as a target for a goto statement.
- How it is used
- Uses labels with goto for exceptional local cleanup and selected algorithmic control-flow changes.
- How deep it goes
- Explains syntax, same-function transfer, lifetime effects, and safety constraints, but stops short of long jumps and concurrency.
- Examples
- Uses RETRY, NEW_LINE, ASCEND, and a compound-literal example to contrast loop and goto repetition.
- What you can do after
- Apply it via goto for constrained cleanup or algorithmic transfers while checking object scope and lifetime.
Classic Game Programming on the NES: Make your own retro video game
A label is a symbolic identifier assigned to a code location so assembly instructions can refer to that location without specifying its numeric address.
- How it is used
- Names jump, branch, and call destinations while also making fixed NES system values readable.
- How deep it goes
- Defines label syntax and scopes, explains assembler address resolution, and notes branch-range errors without detailing machine-code encoding.
- Examples
- Demonstrates `NEWCODE`, a `ClearMemory` procedure with `@Loop`, unnamed loop labels, and named PPU, APU, and controller values.
- What you can do after
- Apply it via an assembler to write readable control-flow targets and scoped loop labels without manually calculating addresses.
Read how Classic Game Programming on the NES: Make your own retro video game explains label →
Modern C
A label is a named position in assembler code that identifies a point to which control can refer or transfer.
- How it is used
- Marks destinations for exceptional control-flow changes and for identifying positions in generated assembler.
- How deep it goes
- Explains C and assembler roles, then connects repeated execution to scope and lifetime without developing label syntax broadly.
- Examples
- Uses RETRY and AGAIN labels, goto repetition, compound literals, and fgoto assembler output.
- What you can do after
- Evaluate how C labels redirect execution and how corresponding assembler labels identify machine-level program positions.
Related concepts
- gotoused by · A goto statement or instruction unconditionally transfers program execution to a labeled statement or location within the current execution unit.
- 6502 assemblerused by · A program that translates 6502 assembly-language source code into machine code.
- break statementconfigures · A break statement terminates the nearest supported enclosing loop, switch, or similar control construct and transfers control to the following statement.
- continue statementuses · A continue statement skips the remainder of the current loop iteration and proceeds to the loop’s next control step.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


