Initialisierung globaler und statischer Variablen auf 0 ist immer unnötig?

Der C-Standard garantiert, dass globale und statische Variablen immer vorhanden sind, wenn sie nicht initialisiert sind0.

Hier ist meine Frage: Die nicht initialisierten globalen und statischen Variablen gehen zuBSS Segment im Programm. Also das so genannte0 sollte seinall-bit 0.

Für ganzzahlige Variablenall-bit 0 wird bewertet als0. Die Gleitkommavariablen, falls folgendeIEEE 754, ist auch0.0. Bei Zeigern muss es sich jedoch nicht unbedingt um Nullzeiger handelnall-bit 0Dies gilt auch für die Initialisierung eines globalen Zeigers wie folgt:

int* p = NULL;

einen Unterschied machen, nur um:

int *p;

Antworten auf die Frage(2)

Ihre Antwort auf die Frage