为您找到"
c语言中*p=&a和p=&a有什么区别
"相关结果约100,000,000个
int a=2,*p; *p=&a; 打印*P应该是一个地址值,很长一串, p=&a; 打*P印结果会是2;对于指针来说,*p = a[0],表示向地址为p的内存区域赋值为a[0]。p = a[0],把变量p的值改为a[0],这个语句正常应用中是错误的。变量p的值为内存地址,这样赋值会丢掉p原来指向的内存。
而这个幸运的销售员很快的卖掉了这套房子给C。现在公司要求对销售的房子必须包产到户,也就是说,现在必须提到x的时候能够管理到C。如果用程序表示上述内容的话就可以使用指针。首先定义一个指针p,让他指向地址A,地址A中住的是C,而x本来居住的地方的地址是B。OK,现在能知道p,*p,&p表示什么了...
区别很大。第一个int *p = a;这是把a给一个指针,一般a是指针或数组,否则可能会造成很大错误。int *p = &a;这是把a的地址给p,一般a可以是一个整型变量。
c语言中*p=a是指针变量赋值语句,这种写法有两种可能意思:指针变量定义时的初始化赋值 int a[10];int *p=a ; //这时的a是个地址,如:数组名或指针变量,表示定义指针变量p,同时,p指向地址a。 这里的*是跟随int的,用来表示p变量是int *类型。指针变量定义后,给指针变量所指内存中的数据赋值...
p=&a,意思是把a是地址给p,这个p定义的时候是一个指针变量,*p=a,也是这个意思,比如a=2,那么*p就是等于2,p是存放2这个值的空间的地址,可以等效。
int a, *p = &a;而不能写成:int a, p = &a;第二种情况是定义以外的其他情况。*p 和 p 的区别在于,p 是一个指针变量,它包含的是地址。而 p 则是指针 p 所指向的地址的数据。例如,int a, *p = &a;,那么后续的 p 代表的是 &a,即 a 的地址。而 *p 代表的是 a。总的来说...
三目是需要三个操作数的意思,比如:a=c>b?c:b;例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二...
在c语言里 *p=a 是使用在声明指针变量的同时给它赋初值。p=a;是在已经声明了指针变量以后,再给它赋初值。这两者是有区别的,不能通用的。
&取地址符号;按位与运算,也就是一个数的二进制格式按照从低位到高位与运算。两个&就是逻辑与运算了。两个数相与,其中一个数是零,运算结果就是逻辑假(0)。指针运算符,也可以叫取值运算符。另外就是乘法运算符。