C-constanten en literals: Types, gebruik en best practices
Wat zijn constanten?
Constanten (ook literals genoemd) zijn vaste waarden die tijdens uitvoering niet veranderen. Ze kunnen van elk basistype zijn: integer, floating-point, karakter, string, enum.
Integer-literals
- Decimaal:
212,-45 - Octaal: prefix
0→0213(alleen cijfers 0-7) - Hexadecimaal: prefix
0xof0X→0xFeeL
Suffixes (hoofd/kleine letters, willekeurige volgorde):
U/u– unsignedL/l– longLL/ll– long long (C99)
Voorbeelden: 30u, 30L, 30UL, 0x4b. Ongeldig: 078 (8 geen octaal), 032UU (dubbele suffix).
Floating-point literals
Vormen: 3.14159 (decimaal), 314159E-5L (exponentieel). Moeten decimaal punt, exponent, of beide bevatten. Suffixes: f/F (float), l/L (long double), geen suffix = double.
Ongeldig: 510E (incomplete exponent), 210f (geen punt/exponent), .e55 (geen mantisse).
Karakterconstanten
Enkelvoudige quotes: 'x', '\t', '\u02C0' (Unicode).
Escape-reeksen
| Escape | Betekenis |
|---|---|
\\ | Backslash |
\' | Enkele quote |
\" | Dubbele quote |
\? | Vraagteken |
\a | Alarm (bel) |
\b | Backspace |
\f | Form feed |
\n | Nieuwe regel |
\r | Carriage return |
\t | Horizontale tab |
\v | Verticale tab |
\ooo | Octaal (1-3 cijfers) |
\xhh | Hexadecimaal (1+ cijfers) |
Voorbeeld
#include <stdio.h>
int main() {
printf("Hello\tWorld\n\n");
return 0;
}
Hello World
String-literals
Dubbele quotes: "hello". Bevatten escape-reeksen en Unicode. Lange strings splitsen:
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
Alle drie identiek. Compiler voegt automatisch \0 (null-terminator) toe.
Constanten definiëren
1. #define preprocessor
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
int area = LENGTH * WIDTH;
printf("Oppervlakte: %d%c", area, NEWLINE);
return 0;
}
2. const keyword
const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n';
const variabelen hebben een type, worden door compiler gecontroleerd, en kunnen gedebugged worden (in tegenstelling tot #define).
Best practice: Gebruik hoofdletters voor constantennamen (
MAX_SIZE,PI).
C Taal
- Uitgebreide Samenvatting van Weerstanden, Spoelen, en Condensatoren in AC-Stromingen
- C# Keywords en Identifiers begrijpen: Regels, lijsten en best practices
- C# Classes & Objects: Fundamenten voor Robuuste OOP
- C# Abstract Classes & Methods: Een Praktische Gids
- C# Partial Classes en Methods: Een Praktische Gids
- C# Sealed Classes en Methods: Wanneer en Hoe Te Gebruiken
- C++ variabelen, literalen en constanten: een uitgebreide gids
- C Sleutelwoorden & Identifiers: Een Praktische Gids
- C Variabelen, Constanten en Literals: Een Complete Gids
- C Variabelen, Datatypes en Constanten – Een Praktische Gids
- Invoer en uitvoer in C programmeren: Volledige gids