A pointer to a pointer to a character in C or C++. Similar to char* but more confusing. char** can be used to represent a dynamic array of strings of variable length. In theory, it should be possible to code a text editor that manipulates nothing other than a char**. In fact, char** can be used to represent any datatype of any sort, assuming that you are highly masochistic.