C指针的大小取决于?

Lun*_*oms 3 c computer-science

C指针的大小取决于什么?它是数据总线的宽度,地址总线的宽度还是CPU的字大小?

我认为它应该取决于地址总线的宽度,因为指针必须解决许多位置.我对吗?

(我正在寻找依赖的原因,如果有的话)

Car*_*rum 9

指针的大小取决于您的编译器实现.在实践中,它几乎总是您正在构建的架构的原生单词大小.

值得注意的是,C语言标准允许指向不同类型的指针可能具有不同的大小,更好地支持具有不同大小的程序和数据存储器的哈佛架构等.

  • 谁说`int`必须最快?有许多8位体系结构,编译器默认使用16位`int`. (2认同)

Ed *_* S. 6

这取决于所讨论的CPU架构.您可以编写可移植代码,通过使用intptr_t(仅限C99)来考虑这一点.