2017-07-30 73 views
1

在下面的代码段混淆用C的typedef

int* p1, p2; 

p1是整数指针变量和p2是整数varible.it的确定。

但是,在下面的代码片段

typedef int* ptr; 
ptr p1, p2; 

为什么都p1p2整数指针变量?

+0

当明确写入时,指针符号仅适用于紧跟在它后面的变量标识符。当“打包”到一个typedef中时,你可以把它看作是对每个用这种类型声明的变量“扩展”的 – meowgoesthedog

回答

0

是的。为什么?因为无论是类型ptr这是一个别名int *

而且从你的问题的第一个例子: int *p1, p2;

int *p1; 
int p2; 

等效的,这就是为什么P1是指向int和p2的指针只是int