No they are not the same.
The first one is a pointer to a pointer to a structure which is assigned the same value as array
The second one is a pointer to a structure which is assigned the value of what array is pointing to.
Since array holds pointers to structures when need to use on more level of indirection when doing the search.
So if the array held integers you'd have int *.
If the array had pointers to pointers to pointers to pointers to structures (bob ****) we'd need to use bob *****. Having fun yet?