Linker, Loader und ausführbare Formate
Was bedeutet die Angabe „extern int count;“ in C?
- ASie deklariert, dass die Variable count an anderer Stelle definiert ist, und reserviert hier keinen Speicher
- BSie legt die Variable count neu an und initialisiert sie mit 0
- CSie macht die Variable count außerhalb dieser Datei unsichtbar
Antwort und Erläuterung anzeigen
Antwort: A. Sie deklariert, dass die Variable count an anderer Stelle definiert ist, und reserviert hier keinen Speicher
extern ist eine Deklaration „die Variable dieses Namens ist in einer anderen Datei o. Ä. definiert“ und reserviert keinen Speicherplatz. Der Compiler erzeugt Befehle, die count referenzieren, ohne dessen Adresse zu kennen, und vermerkt die Stelle in den Relokationsinformationen. Der Linker verbindet sie mit einer Definition wie „int count = 0;“ in einer anderen Datei und legt die Adresse fest. Grundsätzlich steht die extern-Deklaration in einer Header-Datei und die Definition in genau einer Quelldatei.