废话少说,直入正题
话说指针是C/C++的灵魂,此言不虚。但是怎么样能更好的理解应用呢?就拿java去类比一下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
a = 10;
printf("%d",&a);
printf("\n");
printf("%d",a);
return 0;
}
打印结果 2293580 a对应的地址
10 真正a的值
而在java中一个int型的变量是没有指针的,只有对象才会有引用这一说,类似与指针。
再看一下的代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
int a,*pa;
a = 10;
pa = &a;
*pa = 21;
printf("%d",a);
return 0;
}
输出 : 21;
a的值初始是10,pa指向a的地址,*pa也就是pa地址对应的值,发生变化,a自然跟着变化
就类同于:当两个对象都引用同一个对象,任意一个发生改变,另一个亦发生改变。
2这的相同点就是他们的地址是相同的,所以凡是对应这个地址的值都相同
573

被折叠的 条评论
为什么被折叠?



