1
在下面的代码段混淆用C的typedef
int* p1, p2;
p1
是整数指针变量和p2
是整数varible.it的确定。
但是,在下面的代码片段
typedef int* ptr;
ptr p1, p2;
为什么都p1
和p2
整数指针变量?
在下面的代码段混淆用C的typedef
int* p1, p2;
p1
是整数指针变量和p2
是整数varible.it的确定。
但是,在下面的代码片段
typedef int* ptr;
ptr p1, p2;
为什么都p1
和p2
整数指针变量?
是的。为什么?因为无论是类型ptr
这是一个别名int *
而且从你的问题的第一个例子: int *p1, p2;
是
int *p1;
int p2;
等效的,这就是为什么P1是指向int和p2的指针只是int
当明确写入时,指针符号仅适用于紧跟在它后面的变量标识符。当“打包”到一个typedef中时,你可以把它看作是对每个用这种类型声明的变量“扩展”的 – meowgoesthedog