Wann sind statische und globale Variablen in C und C?
in C und C, statische und globale Variablen haben unterschiedliche Initialisierungsverfahren. Im Gegensatz zu C fehlt C statische und globale Objekte vor der Hauptfunktion eine solche Initialisierung.
Initialisierung Timing in C
In C Code, globaler Variablen wie Global_int1 und Global_int2, die keine expliziten Initialisierer haben, werden in 0 initialisiert. Statische Variablen static_int1 und static_int2 werden jedoch nicht initialisiert. Ihre Werte bleiben unbestimmt, bis sie explizit im Programm festgelegt werden.
Initialisierungswerte in c
Variablen mit expliziten Initialisierern, wie z. Dieser Wert wird im Datensegment der ausführbaren Datei gespeichert.
Bei der Programmausführung lädt das System die ausführbare Datei in den Speicher, einschließlich des Datensegments. Den globalen Variablen werden dann das Gedächtnis zugewiesen und mit den im Datensegment gespeicherten Werten initialisiert.
Initialisierungsphasen in c
c folgen einem Drei-Phasen-Initialisierungsprozess für statische Objekte mit Namespace Scope. Objekte werden anfangs auf 0.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3