理解变量名和指针
这篇文章想讲的东西很简单,文章的内容也很少,但是却也是当年着实困惑我许久的一个极其小的知识点。
直接以一个例程,以及程序中的注释进行说明
#include<stdio.h>
int 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,就表示指针不指向任何一块内存。
结合《内存的分配与释放以及内存泄漏》深入理解指针和内存。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。