
4个回答
展开全部
当然有区别,区别很大,*p=a,就是给指针的表示的地址赋值,也就是赋值给指针指向的存储单元;而p=a,则表示给指针赋值,也就是指针的地址变成了a。两者一个指明了具体值大小,一个指明了具体位置。
展开全部
在定义指针时,指针变量名前的*号是必须的,不能少,区别于普通变量, 说明当前变量是指针变量,而不是普通的变量。
对于你的问题,我举例说明:
情形一:
int a[5]={1,2,3,4,5};
int *p=a;//这是在定义指针变量p的同时就直接给它初始化,即把数组a的首地址赋给它。
情形二:
int a[5]={1,2,3,4,5};
int *p;//声明指针变量p
p = a;
这里的话是先声明指针p,然后再对它初始话,等价于情形一,只是分开写法而已。
对于你的问题,我举例说明:
情形一:
int a[5]={1,2,3,4,5};
int *p=a;//这是在定义指针变量p的同时就直接给它初始化,即把数组a的首地址赋给它。
情形二:
int a[5]={1,2,3,4,5};
int *p;//声明指针变量p
p = a;
这里的话是先声明指针p,然后再对它初始话,等价于情形一,只是分开写法而已。
本回答被提问者采纳
展开全部
*p=a
是p所指向地址的内容是a(比如一个数,或字符)
p=a
是p指向a(比如0x0001)这个地址
囧了...问题看漏了..上面那位兄弟是对的...=_=
是p所指向地址的内容是a(比如一个数,或字符)
p=a
是p指向a(比如0x0001)这个地址
囧了...问题看漏了..上面那位兄弟是对的...=_=
展开全部
我觉得mcs51园地回答得有道理,比如*(a+1)=*(p+1)也论证了所说的a=p,而*p,你可以随意赋值进去,比如*p=1,*p=3等等,看一些程序还是有区别的,真理还是属于少数人啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询