なんか自分で考えてるうちに何がなんだかわからなくなってきたので
誰か愛の導きをください。

char *(string[32]);
0 ポインタ
1 ポインタ
2
3
...
31
というようにポインタを入れる32個の配列が確保される、ですよね?
では、char (*string)[32]; この場合はどういう事になるんでしょうか?

前者は、char* string[32];と考えてやればうまく掴めますが、後者がわかりません。
char型の宣言なので、例えば
(*string)[0] 文字
...
(*string)[31] 文字
って事ですかね。
なんか頭の中にメモりの図が描けません。