C语言中,p=&a和*p=&a有什么区别

如题所述

*p=&a;是将a的地址赋值给*p,结果会是一个十六进制的数。
第二个是让p指向a的地址空间。*p的傎和a相等。
int
a=2,*p;
*p=&a;
打印*P应该是一个地址值,很长一串,
p=&a;
打*P印结果会是2;
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-05
inta;int*p=&a;相当于int*p;p=&a;记住就行了;除了定义的时候,其他时候*p(正常情况)只能等于内容(a的值);本回答被网友采纳
第2个回答  2020-03-20
在定义指针的同时让指针指向某个地址
如int
*p=&a;不能直接使用*p=&a;
p=&a;代表的是让p指向变量a的地址
第3个回答  2016-06-22
p=&a,p的值是a的地址,
*p=&a,a的值是a的地址,
*是取内容符!!!本回答被提问者采纳

C语言中,p=&a和*p=&a有什么区别
p=&a;是将a的地址赋值给*p,结果会是一个十六进制的数。第二个是让p指向a的地址空间。*p的傎和a相等。int a=2,*p;p=&a;打印*P应该是一个地址值,很长一串,p=&a;打*P印结果会是2;

*p=&a和*p=a的区别是什么?
1、一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2、*p=a的意思:将a的值赋给p指针指向的地址的值。3、p=&a的意思是:将a的地址赋给指针p。4、区别:*p是一个值;p是一个地址;两者完全不相同。5、*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;...

*p=&a和*p=a的区别是什么?
1、一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2、*p=a的意思:将a的值赋给p指针指向的地址的值。3、p=&a的意思是:将a的地址赋给指针p。4、区别:*p是一个值;p是一个地址;两者完全不相同。介绍 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针...

* p=& a和p=& a有什么区别?
int *p,p=&a 它们的区别其实就是 int *p=&a是同时定义*p并对赋值p(即a的地址赋给P),而p=&a,只是对P赋值,没有定义指针变量。但要注意,只有在同时定义赋值时“*p=&a”这种写法才是对的 其他情况下不要用*p=&a,这种形式,因为根本就不对,如下图。我之前一直的疑问是为什么赋值时*p=&...

c语言中*p=&a和p=&a有什么区别
c语言中*p=&a和p=&a只有一个区别就是指针初始化时间不同。p=&a:P是1维指针;p=&a:P是2维指针;p=&a示例:inta;int*p;a=5;p=&a;printf("valueis:%d.",*p);

C语言中,p=&a 那么*p与a的区别是什么?
a和*p表示的都是整形左值,p和&a表示的都是指针型左值,1和0x1000表示整形和指针型右值。(左右值的概念不清的话,google一下)在内存中,a和p有存储空间空间,a存放着1,p存放着0x1000,*p和&a没有空间,他们的运算结果是在寄存器中存放的,1和0x1000也有空间,在程序的常量段存放。p按照...

*p=&a,*p=a和p=&a各是什么意思,有什么区别?
1.一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值赋给p指针指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是...

...int a,*p; 那么请问【 p=&a 】和【 *p=&a 】有什么区别?
若有int a,*p;,则p=&a;是把变量a的地址赋给指针变量p,而*p=&a;是错误表达式,编译都过不了……

c语言中,定义int型变量a指针*p,那么,*p=&a和p=&a是什么区别?
定义int类型变量a和指针*p,则指针p存的是一个int型变量的地址,即可以表达为:p = &a;p存的是int型变量的指,即p指针指向地址的内容,所以可*p = a; 当你用*p = &a时,编译器会认为指针的值表示了地址,编译报错。如果你真想这样表示,也可以,只需要将地址强转为int型,即 p = (int)...

*p=&a和*p=a的区别
int a = 3, *p = &a; 这行代码定义了一个整型变量a并初始化为3,同时定义了一个指向a的指针p,并将a的地址赋给了p。这是正确的定义并初始化指针的方法。总结:在C语言中,正确的指针赋值操作是将一个地址赋给指针,而不是将一个值赋给指针。同时,定义指针时应该明确指针将要指向的类型。

相似回答