c语言指针问题?为什么A选项是对的

2025-05-12 03:48:22
推荐回答(3个)
回答1:

对指针进行赋值有两种。

第一种,先定义再赋值

int k;
int *p;
p = &k;

第二种,定义时赋值
int k;
int *p = &k;//这里等同于int *p; p= &k;两句话。


这和一般类型的变量类似
比如:
int k = 3;//等同于int k;k = 3;

希望能够解决你的困惑。

回答2:

相当于
int k;
int *p = &k;
这是指针定义的特殊的地方
int a, *b;
相当于
int a;
int *b;
这个在邵发的《C/C++学习指南》第9章中已经明确强调,这么写有损可读性,正规工作场合不建议这么写。可以到优酷上看视频教程《C/C++学习指南》或文字教程。

回答3:

相当于 

int   k;

int   * p =  &k;


k  的类型是  int

p  的类型是  int *  , 也就是说p的类型是int型指针