Weil ich gerade ein paar Bücher durchgehe und schon alle drei Varianten gesehen habe: Wie würdest du folgendes in C deklarieren?
Ich persönlich ganz klar die erste Variante. Aber ist eine interessante Frage, da hier der Grundsatz "Deklaration sieht aus wie Verwendung" nicht greifen kann, const gibt es in der Verwendung nicht. Mein Argument, *const hier zusammenzuschreiben ist, dass es der Pointer ist, der unveränderlich wird.
Variante zwei hat daher auch etwas für sich. Man könnte argumentieren, dass obwohl sich das const hier auf den Pointer bezieht, der Pointer immer noch zum Identifier der Variablen gehört. Diese Schreibweise habe ich jedenfalls auch schon gesehen, ich glaube aber die erste ist häufiger.
Variante drei ist ganz klar die C++-Schule -- der Pointer als Teil des Typs.