Just keep in mind that everything takes up memory, including pointers. It can be handy to let a pointer (to a pointer) point to something else.
Also, the line where memory is allocated to store the actual string, is not needed.
Str[0]= (char*) calloc(10, sizeof(char)); Str[0]= "Hello, world";
The last line can also be written like this:
printf("%s", Str[0]);
In other words: use the pointer that is stored at index 0.
Sometimes it helps to visualise things. If you search the internet for '
C char pointers explained', you'll find some pictures that may explain things a bit more.