#include-Direktiven in C (#include-Direktiven in C), Lektion, Seite 722923
https://www.purl.org/stefan_ram/pub/include_c (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

#include -Direktiven in C 

Wenn bestimmte Programmteile in ihrer Standardbedeutung verwendet werden sollen, dann ist es nötig, bestimmte #include -Direktiven an den Anfang des Programms zu schreiben, damit die C -Implementation diese Programmteile kennenlernt.

main.c

#include <stdio.h>

int main( void )
{ printf
( "%s\n", "Hallo, Welt" ); }

Soll das Wort »printf« wie oben mit seiner Standardbedeutung zur Ausgabe verwendet werden, muß die include-Direktive »#include <stdio.h>« ganz am Anfang des Quelltextes ganz auf einer Zeile für sich stehen.

Weil es nötig werden könnte, weitere #include -Direktiven zu verwenden, kann Ausdruckrahmen um eine zusätzliche Lücke für diese erweitert werden.

Ausdruckrahmen mit zusätzlicher Lücke für weitere include-Direktiven

#include <stdio.h>
...

int main( void )
{ printf
( "%...\n", ... ); }

Formatierungsregeln

Die mit einem Nummernzeichen »#« beginnenden Präprozessordirektivzeilen sind eine Ausnahme von der allgemeinen Formatierungsfreiheit in C : Bei ihrer Verwendung sind Zeilenenden und Leerzeichen nicht  austauschbar. Diese Präprozessordirektiven müssen jeweils auf einer eigenen Zeile stehen. Es ist also nicht gestattet, mehrere solche Direktiven in eine Zeile zu schreiben oder eine Direktive auf mehrere Zeilen aufzuteilen. (Spezielle Schreibweisen, welche dies in bestimmten Fällen doch erlauben, sollen hier noch nicht behandelt werden.) Am Ende der Zeile darf jedoch ein Kommentar stehen. Das wird manchmal verwendet, um den Grund für die include-Direktive zu vermerken.

main.c

#include <stdio.h> /* printf */

int main( void )
{ printf
( "%s\n", "Hallo, Welt" ); }

Header 

Die Angaben mit den spitzen Klammern, wie beispielsweise »<stdio.h>«, werden auch als Header  (aus dem Englischen) bezeichnet.

Fehler ohne Fehlermeldung

Wenn eine notwendige include-Direktive einmal vergessen wurde, dann bedeutet das nicht, daß das Programm sich deswegen anders verhalten muß oder eine C -Implementation den Fehler bemerken muß. Trotzdem ist das Programm dann fehlerhaft und es kann sein, daß sich das nach einer Änderung des Programms oder einem Wechsel der Implementation bemerkbar machen wird. Deswegen muß der Programmierer selber darauf achten, immer die passenden include-Direktiven zu verwenden.

Alle möglichen Direktiven „auf Vorrat“? *

Es ist übrigens in der Regel kein Fehler und meistens auch unschädlich, gleich immer alle möglichen Include-Direktiven „auf Vorrat“ an den Anfang eines Programms zu schreiben, höchstens könnte dies die Dauer der Übersetzung verlängern. Trotzdem achten viele Programmierer darauf nur die notwendigen Include-Direktiven zu verwenden, vielleicht auch, weil dies dokumentiert, welche Teile von Bibliotheken in einem Programm verwendet werden und welche nicht.

Häufige Fehler *

Häufiger Fehler Ein häufiger Fehler ist der Irrglaube, die #include -Direktiven würden Bibliotheken  zum Programm hinzufügen. Zwar benötigt ein Programm tatsächlich meist Bibliotheken, doch die Standardbibliothek wird von der C -Implementation immer automatisch zu dem Programm gefügt. Richtig ist es vielmehr, daß die #include -Direktiven Beschreibungen  von bestimmten Teilen  (stdio.h, …) von Bibliotheken enthalten, welche dem Compiler sagen, welchen Typ  bestimmte Namen (wie beispielsweise »printf«) haben. Ohne diese Information kann der Compiler das Programm nicht richtig verstehen, obwohl die Standardbibliothek sonst auch ohne die #include -Direktiven verfügbare wäre.

Häufiger Fehler Oft werden #include-Direktiven als „#include-Anweisungen“ bezeichnet. Es handelt sich aber nicht um Anweisungen im Sinne der Programmiersprache C.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722923 stefan_ram:722923 #include-Direktiven in C Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722923, slrprddef722923, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/include_c