I came across the following problem while reading ...just cant get the logic behind this.
auto int c; static int c; register int c; extern int c;
First three are definition because it will set aside storage for the variables.
Last one will not allocated any storage for int c. It will just use storage allocated and named elsewhere.
int c