Code:
void myFunction( void * data )
{
    /* do something */
}

int main( void )
{
    /*
        Allocate 4 KB of data.
    */
    void *dataBlock;
    dataBlock = malloc( 4096 );

    myFunction( dataBlock );

    return 0;
}
There's one way to allocate a 4KB block of data for use elsewhere. Naturally it's better to actually allocate specific types, but if you just want a solid 4K block of memory allocated for you, that'd do it.

You could then dice that up or do whatever you intend with it.

Quzah.