Hi
If you mean Dynamic allocation , yes
Dynamic allocation will lead to memory fragmentation.
and you need a garbage collector .
to avoid this you can use memory pools with different sizes to make allocation from.
Regarding AVR I don't know , but basically it could happen.
In Embedded Systems program should work for ever so memory fragmentation could happen with hi probability, it's better to calculate your memory needs before compiling your code and allocate your memory staticalley.
Salam
Hossam Alzomor
www(.)i-g(.)org