Lektion über Namensräume in C im Rahmen der Lehre der Programmierung mit der Programmiersprache C. (C Namensraum C name space C namespace C Namensräume C Namensbereich C Namensbereiche), Lektion, Seite 721326
http://www.purl.org/stefan_ram/pub/c_namensraum_de ist die kanonische URI dieser Seite.
Stefan-Ram-Startseite

Namensräume in C

Der Namensraum der Funktionen der Standardbibliothek ist der Raum von Namen mit sogenannter externer Bindung  oder—kurz—der Raum externer Namen. Ein externer Name einer Übersetzungseinheit (eines Teils eines Programmes oder einer Bibliothek) ist in anderen Übersetzungseinheiten „sichtbar“ (verwendbar). Damit der Name einer Funktion in einer Bibliothek von anderen  Programmteilen verwendet werden kann, muß er also mit externer Bindung definiert sein.

In C  teilen sich alle Funktionen mit externen Namen einen globalen Namensraum. Trotz des Titels dieser Lektion gibt es also keine weiteren expliziten Namensräume für externe Namen von Funktionen. Dadurch wird es manchmal etwas „eng“ im einzigen externen Namensraum, denn jeder Name muß so gewählt werden, daß er nicht mit einem schon verwendeten Namen übereinstimmt.

Bis zum Standard ISO/IEC 9899:1999 (E)  waren bei externen Namen auch nur die ersten sechs Zeichen  unterscheidungskräftig, erst seit dem Standard ISO/IEC 9899:1999 (E)  muß eine Implementation mindestens die 31 ersten Zeichen beachten. Die ehemalige Beschränkung auf sechs signifikante Zeichen ist auch heute noch daran in der Sprache erkennbar, daß die meisten Namen von Funktionen relativ kurz sind und sich alle in den ersten sechs Zeichen unterscheiden. Beispiele solcher Namen sind "fgets", "fputc", "gets", "labs", "abs", "printf", "sprintf", "vsprintf" und "fprintf".

Als eine Art von Ersatz für die Schreibweise von Namen mit einem ausdrücklichen Namensraum und Bereichsauflösungsoperator gibt es in C  allerdings die Unterteilung der Menge aller möglicher Namen anhand einiger Merkmale, wie etwa der Anfangszeichen. So reserviert C  bestimmte Namen für die Implementation, die nicht durch ein C -Quelltext definiert werden dürfen. Es handelt sich um viele Typen von Namen, die mit einem Grundstrich "_" beginnen und natürlich um die in der Standardbibliothek verwendeten Namen und um einige Namen, die in späteren Versionen der Standardbibliothek verwendet werden könnten.

Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Seiteninformation und Impressum  |   Formular für diese Seite betreffende Mitteilungen an den Herausgeber  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz