use*_*169 2 c pointers typedef
我定义了一个typedef
typedef char* charP;
Run Code Online (Sandbox Code Playgroud)
然后我宣布了一些变量
charP dog, cat, fish;
Run Code Online (Sandbox Code Playgroud)
是类型的所有变量char*或者是dog唯一的char*,而cat和fish有型的char?
unw*_*ind 10
所有这些都是类型charP,这是别名char *,所以是的,它们都是指针.
也就是说,有些人(包括我在内)认为"隐藏"指针星号是一个坏主意,因为它打破了声明变量和访问变量之间的对称性.
你将会:
charP a;
*a = '1'; /* What?! It didn't look like a pointer, above?! */
Run Code Online (Sandbox Code Playgroud)
...导致混乱.通常,C中的指针对于跟踪是很重要的,因此隐藏什么是指针以及什么不能导致麻烦.