请问指针变量地址改变了能否改变它所指向的变量的值?

来源:百度知道 编辑:UC知道 时间:2024/09/20 22:52:32

变量是存放在内存中的,指针就是指向存放该变量的内存地址。

p是指向整形变量的指针,&是取地址运算符,p = &i的意思就是:取i的内存地址赋给p。

pointer_1=&a;
&*pointer_1就可以替换成&*&a,而这里的*和声明指针变量时的*意思不同。

int *p;这里的*是类型,表示p是int *型的变量;
*p = 10;这里的*是取值的意思,就是取p这个指针所指向的内存地址里的值。

&取地址和*取值可以看作相反的符号,也就是说可以抵消,&*&a就是&a,所以那个式子最后的结果是&a
你把指针当成是一个变量来看就好了,既然是变量,那么肯定在内存中存储的,所以i_point的存储位置是3031,3011,但是这两个存储单元的值是那个它所指向的变量的地址而已。
也就是说,指针存的是地址,普通变量存的是值。
第一个理解是每问题的,第二个应该是说漏了几个字,是指针所指向的地址。