设为首页 加入收藏

TOP

C语言指针(一)
2012-11-05 11:36:20 来源: 作者: 【 】 浏览:576
Tags:语言 指针

一、指针的内存布局

先看下面的例子:
   int *p;
大家都知道这里定义了一个指针p。但是p 到底是什么东西呢?还记得第一章里说过,“任何一种数据类型我们都可以把它当一个模子”吗?p,毫无疑问,是某个模子咔出来的。

我们也讨论过,任何模子都必须有其特定的大小,这样才能用来“咔咔咔”。那咔出p 的这个模子到底是什么样子呢?它占多大的空间呢?现在用sizeof 测试一下(32 位系统):sizeof(p)的值为4。嗯,这说明咔出p 的这个模子大小为4 个byte。显然,这个模子不是“int”,虽然它大小也为4。既然不是“int”那就一定是“int *”了。好,那现在我们可以这么理解这个定义:

一个“int *”类型的模子在内存上咔出了4 个字节的空间,然后把这个4 个字节大小的空间命名为p,同时限定这4 个字节的空间里面只能存储某个内存地址,即使你存入别的任何数据,都将被当作地址处理,而且这个内存地址开始的连续4 个字节上只能存储某个int类型的数据。

这是一段咬文嚼字的说明,我们还是用图来解析一下:
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言数组应用 下一篇C语言指针和数组概述

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: