c语言中指针前面的星号,什么时候可以省去,什么时候又必须带上呢?

来源:百度文库 编辑:神马文学网 时间:2024/04/27 15:04:42

最佳答案
其实没那么复杂。主要是区别于在声明定义的时候,有的人会迷惑,要不要加*如下int *pp=&x;//此处明明是p=&x???????,好往下看int *p=&x//其实在声明的时候这样也是可以的。但是这样写定义不明确。我们现在来总结一下,在定义的时候*号,只是一个说明符。意义是告诉你p是一个指针,而不是一个其他数。在声明的时候就一定需要*了,所以请注意上面的对比。在引用的时候区别就相当简单了p是指针变量,指的是一个变量的地址。*p代表的是所指向的这个变量的值。举例:int a=3;int *pp=&a;printf("%d%d",*p,p);这个时候两个输出的值,第一个就是3(变量的值),第二个输出的是变量a存储的地址单位。楼主要是还有疑问可以一起讨论