理解变量名和指针
这篇文章想讲的东西很简单,文章的内容也很少,但是却也是当年着实困惑我许久的一个极其小的知识点。
直接以一个例程,以及程序中的注释进行说明
#includeint main(void){ int x=1; int *px1, *px2; px1 = &x; px2 = &x; //上面这两行代码是的指针px1、px2指向同一块内存,也就是都指向int型整数x, //也就是*px1、*px2、变量名x都是代表同一块内存的数据 int y = x; //这行代码为y分配了一块内存,并将x的值复制到y的所在内存中, //而不是x和y共享一块内存 return 0;}
指针本身是一个值,但是这个值的含义是一个地址(当然也需要内存去存储这个地址值,所以有指向指针的指针,以及指向指向指针的指针,……),这个地址指向的是一个内存,这块内存中存储着数据,当然如果指针为NULL,就表示指针不指向任何一块内存。
结合《》深入理解指针和内存。