Array created this way int a[5] contains 5 integer memory blocks and memory can't be changed at runtime.
Array created this way int *ptr=new int[5] also contains 5 integer blocks and in this case too memory cant be increased and decreased at runtime, so, from which perspective it is called dynamic memory.