Autumn0923 2021-12-25 13:35 采纳率: 100%
浏览 74
已结题

vscode指针大小问题


#include<stdio.h>
int main()
{
    int *p;
    int q;
    printf("%d\n",sizeof(p));
    printf("%d",sizeof(q));
    return 0;
}

img

int 类型和指针不是应该一样大吗,为什么一个是8一个是4呢?有没有人可以解释一下这个原因

  • 写回答

1条回答 默认 最新

  • 五一编程 2021-12-25 14:11
    关注

    主要看操作系统,64位系统,这个位数指的是CPU 里面的通用寄存器的数据宽度为64位,也就是说一个地址占二进制位数是64,所以:

    sizeof(double *)==sizeof(int *)==sizeof(char *)==64/8==8

    32位系统,同理,他的一个地址占32位二进制空间,sizeof(double *)==sizeof(int *)==sizeof(char *)==32/8==4
    所以指针大小为8,int 类型为4

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月25日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么