Wie kann man gcc warnen lassen, wenn die Adresse lokaler Variablen zurückgegeben wird?
Mitgcc
4.4.5, Ich habe eine Warnung mit folgendem Code.
char *f(void)
{
char c;
return &c;
}
Wenn ich jedoch einen temporären Zeiger verwende, wird keine Warnung mehr angezeigt (auch wenn das Verhalten falsch ist).
char *f(void)
{
char c;
char *p = &c;
return p;
}
Ich habe gehört, dass die Zeigeranalyse in C schwierig ist, aber es kanngcc
vor solchem Code warnen?