Delta_G:
Taking memory for no good reason? Think this all the way through. What were you going to do with this memory you save? If you don't have enough reserved for that array then when you try to create it in that function your Arduino will crash and reset. Is that what you're going for?If you have to reserve that space anyway to keep the Arduino from crashing when you create the array, then you might as well have the space already allocated to the array. It's not like you could use it for anything else.
Agreed.
The only exception I can think of is if the code had two or more tasks that each required a large chunk of memory, but not at the same time. Then, you could use dynamic allocation to supply those chunks as needed. But the method that OP is trying to use is way wrong. I'd malloc() the space and free() it when the task is done.
Shouldn't get into fragmentation trouble as long as you only request one chunk at a time and return it before requesting the next one. Also very important to check the pointer returned by malloc() for NULL to ensure that you really got the space you requested.