我注意到有些人使用以下表示法来声明指针变量.
(a) char* p;
Run Code Online (Sandbox Code Playgroud)
代替
(b) char *p;
Run Code Online (Sandbox Code Playgroud)
我用(b).符号(a)背后的理性是什么?符号(b)对我来说更有意义,因为字符指针本身不是一种类型.相反,类型是字符,变量可以是指向字符的指针.
char* c;
Run Code Online (Sandbox Code Playgroud)
这看起来像char*类型,变量c是该类型.但实际上类型是char和*c(c指向的内存位置)是该类型(char).如果一次声明多个变量,这种区别就变得很明显了.
char* c, *d;
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪.c和d都是指向字符的同一种指针.因为下一个看起来更自然.
char *c, *d;
Run Code Online (Sandbox Code Playgroud)
谢谢.