您的位置:首页 > 其它

浅谈指针

2011-04-16 22:25 120 查看
浅谈c与c++中的指针艺术(一)

有句话说得好,学会c语言走遍全天下,作为一个痴迷操作系统的os谜,最近很对指针感兴趣,所以想记录下关于学习指针理解的点点滴滴。
在c语言中的指针,其实完全用另一个名字来理解,就是地址。在声明一个指针时候我们可以这样声明int i=5;int *p=&i;我们的编译器是如何给变量i在栈中分配一个空的内存空间假设我们的这个内存单元名称叫做i,地址是0x12ff7c 而这个内存单元(4个字节)中存储的数据为5
编译器还会在栈中找到一块空的内存单元 命名为p ,而这块内存单元的地址假设为0x12ff78这就是我们的指针p,这块内存单元中存放的就是i这块内存单元的地址也就是0x12ff7c
我们要分清&p,p,&i,*p这几个概念&当然就是取地址 *便是和&相反的操作我们在编程时候会写printf("%d",p); 编译器会识别p的地址,因为编译器存储了p这个内存单元的地址0x12ff78,我们会从0x12ff78开始寻址,因为输出int类型,所以会从0x12ff78寻址四个字节,取出其中的内容。也就是返回0x12ff7c
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: