It's because that the memory space (where "hello" is stored) that pointer[0] points to is not specified.
try this:
void main()
{
char *pointer[10];
pointer[0] = new char [10];
strcpy(pointer[0], "hello");
printf("%s", pointer[0]);
delete [] pointer[0];
}