Why the first options does not work? It\'s there a difference between "pointer->malloc" and "type []" a part of dynamic reservation of memory?