happy blog

 

关于指针有多长的思考

有个同学告诉我,现在学生的面试题很基础,他就碰到过一次,“1个指针占几个字节”?答案是4个字节。
当时我没有太在意,CPU的寻址能力与CPU的字长是相等的,32位的处理器寻址4G的空间,指针当然要用4个字节(4×8=32)来表示。
但前两天无意中翻了一下微机原理,看到关于intel8088的原理分析,让我产生了很大的困惑,8088的有地址20条地址线,但却是准16位的处理器。按一贯以来的想法,8位的CPU寻址256个地址单元,16位的CPU寻址64K个地址单元,这显然与20条地址引线(可直接寻址1M个地址单元)的寻址范围有很大的出入。
看来“CPU的寻址能力与CPU的字长相等”在8088中是行不通的。但我关心的是,在C++的编译系统中,为了寻址1M个地址单元,指针要用几个字节?总不能说2个半吧,要不那时候还没C++,不用管了?
希望能得到点答案,各位发表点看法?

posted on 2006-06-11 09:09 从头再来 阅读(226) 评论(0)  编辑 收藏 引用 所属分类: C++ study fragment


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

相册

搜索

最新评论

阅读排行榜

评论排行榜