使用指针变量typedef

时间:2014-07-07 11:19:36

标签: c pointers typedef

我定义了一个typedef

typedef char* charP;

然后我宣布了一些变量

charP dog, cat, fish;

类型char*dog的所有变量是唯一的char*,而catfish的类型是char吗?< / p>

3 个答案:

答案 0 :(得分:10)

所有这些都是charP类型,这是char *的别名,所以是的,它们都是指针。

也就是说,有些人(包括我在内)认为隐藏&#34;是一个坏主意。指针星号,因为它打破了声明变量和访问变量之间的对称性。

你将会:

charP a;

*a = '1';  /* What?! It didn't look like a pointer, above?! */

......这引起了混乱。通常,C中的指针对于跟踪是很重要的,因此隐藏什么是指针以及什么不会导致麻烦。

答案 1 :(得分:1)

所有这些都是char *。不要将它与此案混淆:char *dog, cat, fish;。在这里,dogchar *,其余只是char s。

答案 2 :(得分:0)

所有这些都是char指针,因为你使用的是typedef而不是宏。

所以它不会像char * dog,cat,fish;