That piece of memory is the stack.

In a programming language, parameters to a function are pushed on the stack before calling the function. All C functions are normally guaranteed to work this way, which is why you can call any C function from any library with an arbitrary number of parameters.

The number of bytes per parameter can vary due to compiler implementations. For speed reasons, C compilers (including lite-C) normally use 32 bit parameters even for char and short.

If you have a lite-C function

int foo(int a, int b, int c) { ... }

and pass the pointer of this function to a C++ program, you can then just call the pointer from C++

*fooptr(a,b,c)

and the parameters are passed correctly over to lite-C. It does not matter how many parameters the function has.