daikunen
2016-07-27 08:36
采纳率: 100%
浏览 1.2k
已采纳

c++问题 指向字符串的指针

为什么 sizeof p ==4 ?

如题如题如题如题如题如题如题如题如题如题如题如题
为什么一定要30字。。。。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 小灸舞 2016-07-27 09:04
    已采纳

    指针只是要存储另一个变量的地址。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行!
    在32位机上,sizeof(指针)恒为4
    PS:sizeof是编译器在编译的时候计算的

    已采纳该答案
    打赏 评论
  • oyljerry 2016-07-27 08:40

    指针大小都是统一的,32位平台就是4个字节。

    打赏 评论
  • Robot-S 2016-07-27 08:46


    #include "stdio.h"//这段代码,能运行,"123"被保存到文字常量区中
    int main()
    {
     char *p;
     p="123";
     printf("%s",p);
     return 0;
    }
    ///////////////////////////////////
    #include "stdio.h"//
    int main()
    {
     char *p;答案就在这里:指针指向字符串的问题
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    打赏 评论
  • 若有所思2016 2016-07-27 09:18

    指针是一种特殊的变量,特殊就特殊在它保存的都是**_地址值_**,这个地址值所代表的内存空间才是实际要操作的变量空间。
    32位机种,一个内存空间的地址也是用32位编码的,也就是4个字节。所以sizeof(指针)==4

    打赏 评论
  • 11061104 2016-07-27 12:40

    指针本身是一个针对内存地址位数的变量,是32位

    打赏 评论

相关推荐 更多相似问题