非常简单的指针变量问题。。。

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:44:47
变量的指针即为变量的地址,而存放其他变量地址的变量是指针变量。这句话怎么解译?

还有:
int i=100;
int *p;
p=&i;
我想p是指针变量(名称),i是地址,100是内容。我讲得对吗?

最后:程序中有“pointer_1=&a;”执行后&*pointer_1的值是&a,怎么算的?我刚学指针,有些地址不是太懂,请你们详细地解释一下吧,谢谢。

通俗的理解:这里有一堆盒子,其中一个盒子外壳上写的是“富士”,打开以后是个苹果,那么这个“富士”就是这个苹果的指针变量,因为你是通过富士这个名字在这堆盒子里找到这个苹果的。

应该这么理解你那句话,p 是指针变量是正确的,P=&i 是将i的地址赋给指针变量p,100是变量i的地址.

pointer_1=&a说明将a的地址赋给了指针变量pointer_1,就是说
pointer_1指向a的地址,*pointer_1就代表a,所以,*pointer_1取地址就是a取地址,所以执行后&*pointer_1的值是&a

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

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

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

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

&取地址和*取值可以看作相反的符号,也就是说可以抵消,&*&a就是&a,所以那个式子最后的结果是&a

指针是C的重点,也是难点

多看看书,对一些概念要理解清楚