对指针进行赋值有两种。
第一种,先定义再赋值
int k;
int *p;
p = &k;
第二种,定义时赋值
int k;
int *p = &k;//这里等同于int *p; p= &k;两句话。
这和一般类型的变量类似
比如:
int k = 3;//等同于int k;k = 3;
希望能够解决你的困惑。
相当于
int k;
int *p = &k;
这是指针定义的特殊的地方
int a, *b;
相当于
int a;
int *b;
这个在邵发的《C/C++学习指南》第9章中已经明确强调,这么写有损可读性,正规工作场合不建议这么写。可以到优酷上看视频教程《C/C++学习指南》或文字教程。
相当于
int k;
int * p = &k;
k 的类型是 int
p 的类型是 int * , 也就是说p的类型是int型指针