Q: This code, straight out of a book, isn't compiling:
int f()
{
	char a[] = "Hello, world!";
}
A: Perhaps you have an old, pre-ANSI compiler, which doesn't allow initialization of ``automatic aggregates'' (i.e. non-static local arrays, structures, or unions). You have four possible workarounds:
	f()
	{
		char *a = "Hello, world!";
	}
You
can always initialize local char * variables
to point to
string literals
(but
see question
1.32).
	f()
	{
		char a[14];
		strcpy(a, "Hello, world!");
	}
See also question 11.29a.