char ** et pointeurs de déréférencement

Je voudrais terminer ma confusion avec le char **

Quand une fois crée un tableau de tableaux de caractères(strings) comment char ** fait accomplir cela?

- je obtenir char * est un pointeur vers un char et que char *array[] est un tableau de pointeurs de char, mais ce que fait exactement char ** faire et comment faut-il faire?

Aussi quand j'entends le mot déréférence ça me fait penser que le pointeur est supprimé quoi exactement déréférencer un pointeur veux dire? La modification de la valeur que le pointeur pointe vers?

Grâce

source d'informationauteur jarryd