I was studying memory layers on embedded systems and one question came to my mind. If the function parameter is a pointer, then one-word length area is occupied in the stack for sure. But what is happening when the function parameter is an array with not fixed size? for example,
void test1(uint32_t *pData)
{
}
void test2(uint32_t arr[])
{
}
Both functions given above gives same result in gcc 9.2 Compiler explorer and says that it is considered like pointer, but does not give any clue about where it is allocated or how it is handled. Any idea is welcomed.