English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le variabili globali e statiche vengono inizializzate ai loro valori di default, poiché si trovano nei standard C o C ++ e possono essere assegnati a zero liberamente durante la compilazione. Il comportamento delle variabili statiche e globali è lo stesso del codice obiettivo generato. Queste variabili vengono assegnate nel file .bss e, al caricamento, allocano memoria tramite l'ottenimento dei costanti assegnate alle variabili.
Ecco un esempio di variabili globali e statiche.
#include <stdio.h> int a; static int b; int main() { int x; static int y; int z = 28; printf("The default value of global variable a: %d", a); printf("\nThe default value of global static variable b: %d", b); printf("\nThe default value of local variable x: %d", x); printf("\nThe default value of local static variable y: %d", y); printf("\nThe value of local variable z: %d", z); return 0; }
Risultato di output
The default value of global variable a: 0 The default value of global static variable b: 0 The default value of local variable x: 0 The default value of local static variable y: 0 The value of local variable z: 28
Nell'above programma, le variabili globali sono dichiarate inmain()
Dichiarato al di fuori della funzione, e uno di essi è una variabile statica. Sono stati dichiarati tre variabili locali, e la variabile z è anche inizializzata.
int a; static int b; ... int x; static int y; int z = 28;
sarà stampato il suo valore predefinito.
printf("The default value of global variable a: %d", a); printf("\nThe default value of global static variable b: %d", b); printf("\nThe default value of local variable x: %d", x); printf("\nThe default value of local static variable y: %d", y); printf("\nThe value of local variable z: %d", z);