2015-11-16 36 views

回答

6

不,他们不这样做。 *a = b;不会更改a但它会更改a指向的内容。 a = &b;确实发生了变化a但它不会改变a指出的内容。

1

这些是两个不同的操作。

*a = bb的值复制到a所指的内存位置。

a = &b变化a以便现在a指向b的位置。

1

*a = b手段,通过a

a = &b指出的ADRESS复制的b值意味着a现在指向b

0

作为一个小例子:

int b=10,c=20; 
int *a=0; 
a=&b; *a=c; 

现在你改变b的值to to value of c

+0

有什么区别beetwen int * a = 0和int a = 0? –

+0

一个是指针,另一个是实际值。 – macroland

1

Th电子商务代码遵循和平应该回答你的问题:

#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 

int main(void){ 
    int a = 5; 
    int b = 10; 

    int *p = &b; 
    printf("A = %d\nB = %d\n*p = %d\n",a,b,*p); 

    *p = a; 
    printf("\n"); 
    printf("A = %d\nB = %d\n*p = %d\n",a,b,*p); 
    return 0; 
} 

输出:

A = 5 
B = 10 
*p = 10 
A = 5 
B = 5 
*p = 5 
相关问题