The following declaration is illegal. Why?????? char *a = "string1"; char *b = "string2"; char *c = "string3"; char *g[] = { a, b, c }; What if the compiler was 3 pass one?