Robert Bienert: C: Prüfen ob int mit Wert initialisiert wurde

Beitrag lesen

Moin!

Ich möchte prüfen ob eine Variable z.B. mit

int i = 0;

oder

int i;

initialisiert wurde. Ist das möglich?

Von der Theorie her sollte das schon möglich sein, da AFAIK im zweiten Fall irgendetwas in i steht, C sichert mich ja in der dieser Hinsicht nichts zu. Bei allerdings den meisten Compilern, die ich kenne, läuft beides auf das gleiche heraus, d.h. i wird stets mit 0 initialisiert. du kannst ja ein kleines Testprogramm schreiben:

  
#include <stdio.h>  
  
int main(void) {  
    int i = 0;  
    int j;  
  
    printf("i = %i, j = %i\n", i, j);  
  
    return 0;  
}  

( Bei globalen Variablen ist ja standard int immer 0 )

In C++ auch ;-)

Viele Grüße,
Robert