Doubt in pointer array

@5:15 it is said that int *ptr=new int[1000];

here new array will be created and it will return the address

of the the arrray which will store in ptr as it is pointer

than when we have to create arrays of pointer

than it should be

int * ptr=new int*[1000];

isnt it??as it will create a new array which stores pointer and it will return the address than it will be stored in * ptr?
but syntax is

int *ptr=new int[1000];

why is it pointer to pointer??? in this case??

to create arrays of pointer correct syntax is

int * *ptr=new int * [1000]

ptr stores the addresss of a bucket which also store address of another array so it should be double pointer
see this image

Screenshot from 2020-05-03 11-25-10

i hope this picture will help you to understand well