Symbole
Ein Symbol
ist der Oberbegriff für benutzerdefinierte Namen in einem Programm. In C können Variablen, Funktionen und Typen durch Symbole representiert und angesprochen werden. Für Symbole können die grossen und kleinen Buchstaben verwendet werden, die Ziffern 0 bis 9 sowie das Underscore-Zeichen. Das erste Zeichen eines Symbols darf keine Ziffer sein, die Länge eines Symbols ist bei den heutigen Compilern beliebig.
Variable
Function
Type
Namespace
Details
Symbole werden manchmal auch Bezeichner
oder auf Englisch Identifier
genannt.
Nebst den Buchstaben, den Ziffern und dem Underscore-Zeichen ist auch das Dollar-Zeichen erlaubt, allerdings ist die Verwendung dieses Zeichens veraltet und wird nach heutigem Bewusstsein in den Sprachen C und C++ nicht mehr benutzt.
In den Sprachen C und C++ werden Symbole case-sensitive betrachtet, was bedeutet, dass unterschieden wird zwischen Gross- und Kleinschreibung. Folgende Symbole sind somit allesamt verschieden: symbol, Symbol, SYMBOL, SyMbOl.
Innerhalb eines Bereiches darf ein Symbol normalerweise nur einmal existieren, was bedeutet, dass jedes Symbol einem bestimmten Bereich zugeordnet ist. In C++ ist es jedoch erlaubt, Funktionen zu überladen, was bedeutet, dass mehrere Funktionen mit demselben Namen existieren können, welche sich jedoch in der Parameterliste unterscheiden. Entsprechende Details finden sich auf der Seite über Funktions-Überladungen. Es gibt zudem bereits in C eine nicht veränderbare Kategorisierung, welche Symbole einer Funktionalität zuordnet und dementsprechend Symbole unterschiedlicher Zuordnung nebeneinander existieren können. Diese Zuordnung ist jedoch gerade mit dem heutigen Programmierstil für die tägliche Programmierarbeit kaum relevant. Dummerweise wird diese Kategorisierung mit Speicherklasse
bezeichnet, ein Begriff, welcher in C++ eine komplett andere Bedeutung hat. Es wird somit nicht weiter darauf eingegangen.
Typ-Symbole werden mit dem typedef
-Keyword festgelegt, wobei das Symbol danach den angegebenen (mehr oder weniger komplexen) Typ representiert. Anmerkung: Eine typedef
-Angabe ist von der Sprache her streng genommen eine Variable mit einer speziellen Speicherklasse.
Symbole sind grundsätzlich nur Platzhalter und haben keinen Einfluss auf das lauffähige Programm. Sie werden deswegen beim Compilieren auf Wunsch aus dem lauffähigen Programm entfernt (gestrippt: Übrig bleibt bloss nackter Code).
Nächstes Kapitel: Keywords und Direktivennamen