| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5274 人关注过本帖
标题:指针长度由什么决定呢?
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
已结贴  问题点数:10 回复次数:23 
指针长度由什么决定呢?
我电脑的CPU是 Intel® Celeron® Processor E3300
但是测试了下,发现指针的长度还是4个字节,为什么不是8个字节呢?
搜索更多相关主题的帖子: 指针 长度 
2010-08-22 09:29
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
这是编译器决定的,御坂回答

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-22 09:34
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
CPU的字长。
2010-08-22 09:34
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用Devil_W在2010-8-22 09:34:42的发言:

CPU的字长。
奇怪了,楼主的意思不正是在否定你吗?御坂不解地问

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-22 09:46
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用御坂美琴在2010-8-22 09:46:46的发言:

奇怪了,楼主的意思不正是在否定你吗?御坂不解地问

不懂的请勿扯淡。
2010-08-22 11:53
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用Devil_W在2010-8-22 11:53:44的发言:


不懂的请勿扯淡。
奇怪,楼主的事实在反驳你,你摆这种姿态出来,意思是,你说的话比事实更正确?御坂严重不明白了
并且,也不是我在反驳你,我本来就什么都不懂

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-22 12:11
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:0 
什么叫指针长度?
是指针变量占据的内存大小还是指针指向的内容占据的大小?
不管是什么,都不是定值,这要看你编的是什么程序。你一个在实模式下运行的DOS程序,有必要用4字节32位的指针变量吗?32位寻址可是4GB,你用不着吧。
程序代码:
#include<stdio.h>

int main()
{
    char ch='a';
    int x=0;
    long y=0;
    float z=0;

    char *p=&ch;
    int *p2=&x;
    long *p3=&y;
    float *p4=&z;
   
    printf("The size of ch=%d    p=%d\n",sizeof(*p),sizeof(p));
   
    printf("The size of x=%d        p=%d\n",sizeof(*p2),sizeof(p2));
   
    printf("The size of y=%d        p=%d\n",sizeof(*p3),sizeof(p3));
   
    printf("The size of z=%d        p=%d\n",sizeof(*p4),sizeof(p4));
   
    system("pause");
    return 0;
}
结果:
图片附件: 游客没有浏览图片的权限,请 登录注册

清楚了吧,在编写基于DOS系统程序时,指针变量是两字节,16位,可寻址范围是64KB。而其指向的内容的大小就看是什么数据类型了,double类型是float 的两倍。

[ 本帖最后由 不归鹄 于 2010-8-22 13:28 编辑 ]

2010-08-22 13:19
小旬_C
Rank: 2
等 级:论坛游民
帖 子:72
专家分:33
注 册:2010-7-25
收藏
得分:0 
没看出什么,我太笨老

没有失败,只有暂时停止成功
2010-08-22 13:30
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用御坂美琴在2010-8-22 12:11:05的发言:

奇怪,楼主的事实在反驳你,你摆这种姿态出来,意思是,你说的话比事实更正确?御坂严重不明白了
并且,也不是我在反驳你,我本来就什么都不懂

你知道毛的事实。
2010-08-22 13:33
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用Devil_W在2010-8-22 13:33:00的发言:


你知道毛的事实。
我斗不过无赖,我闪了,御坂说

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-22 13:37
快速回复:指针长度由什么决定呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018777 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved