当前位置: 代码迷 >> C语言 >> 看看结果是多少??
  详细解决方案

看看结果是多少??

热度:346   发布时间:2006-09-07 18:30:10.0
看看结果是多少??

以下程序在16位机环境下的输出结果是多少???
main()
{
int a,*pa;
char b,*pb;
printf("%d,%d",sizeof(pa),sizeof(pb));

}

搜索更多相关的解决方案: 结果  

----------------解决方案--------------------------------------------------------
2,1
----------------解决方案--------------------------------------------------------

是怎么算的呀!!!


----------------解决方案--------------------------------------------------------
2 2
这样的题目自己运行一下就知道了.
----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-9-7 19:05:53的发言:
2 2
这样的题目自己运行一下就知道了.

想问一下,是不是在16位环境下,指针是占2个字节的,所以是2 2 ?


----------------解决方案--------------------------------------------------------
我觉得char 指针是1
----------------解决方案--------------------------------------------------------
以下是引用shuaiye在2006-9-7 19:12:33的发言:
我觉得char 指针是1

16位机的地址是占两个字节的.
----------------解决方案--------------------------------------------------------

学过数据结构的你应该知道指针是一个很重要的概念,它记录了另一个对象的地址。既然是来存放地址的,那么它当然等于计算机内部地址总线的宽度。所以在16位计算机中,一个指针变量的返回值必定是2(注意结果是以字节为单位)。可以预计,在将来的64位系统中指针变量的sizeof结果为8。
----------------解决方案--------------------------------------------------------
我指针这块有点晕,不过还是得说声谢谢!!!!!!!!!!!!
----------------解决方案--------------------------------------------------------

  相关解决方案