Zauważyłem, że niektórzy używają następującej notacji do deklarowania zmiennych wskaźnikowych.
(a) char* p;
zamiast
(b) char *p;
Używam (b). Jakie jest uzasadnienie zapisu (a)? Notacja (b) ma dla mnie większy sens, ponieważ wskaźnik znaku sam w sobie nie jest typem. Zamiast tego typ jest znakowy, a zmienna może być wskaźnikiem do znaku.
char* c;
Wygląda na to, że istnieje typ char *, a zmienna c jest tego typu. Ale w rzeczywistości typ to char, a * c (miejsce w pamięci wskazywane przez c) jest tego typu (char). Jeśli zadeklarujesz wiele zmiennych naraz, to rozróżnienie stanie się oczywiste.
char* c, *d;
To wygląda dziwnie. Zarówno c, jak i d są tego samego rodzaju wskazówkami, które wskazują na znak. W tym od następnego wygląda bardziej naturalnie.
char *c, *d;
Dzięki.