gpt4 book ai didi

c - 在 64 位机器上每个指针变量的大小为 8 个字节如何合理?

转载 作者:行者123 更新时间:2023-11-30 20:50:05 27 4
gpt4 key购买 nike

我了解了指针算术以及不能将一种数据类型的指针分配给另一种数据类型的事实。例如,下面的声明是不正确的。

  double x = 10;
int *ptrInt = &x;

我们已将 double 变量的地址分配给“指向整数的指针”。与整数相比, double 需要 8 个字节,整数需要 4 个字节,因此整数指针将截断这额外的 4 个字节。

但是为什么,任何指针变量的大小都是 8 个字节,这也意味着它不会截断那些额外的 4 个字节并且应该正常工作(即使它没有)。

我有这个疑问。谁能帮我澄清一下吗?

最佳答案

为什么任何指针变量的大小都是 8 字节?指针变量包含地址且地址大小在 64 位上为 8 字节 code> 系统,无论指针变量是否指向 intcharfloat 对象(作为 64 位 指针支持) 8 字节 地址空间。

关于c - 在 64 位机器上每个指针变量的大小为 8 个字节如何合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52341852/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com