What is the exact difference between char* a[] and char** a ?

As far as I know, the first array will be created in stack, on the other hand,
the second array(?) will be created in heap. In both, all the real char elements addressed by the pointers will be created in heap.

Am I right?
Is there any other difference?


Thanks.