I got this code inside a small program to read a file:
#ifdef WIN32
unsigned char *buffer = (unsigned char *)alloca((unsigned int)ui.length);
#else
unsigned char buffer[ui.length];
#endif
Why is a pointer used for Win32 platform and character array for other platforms?