我在线搜索,虽然我可以找到一些讨论,但我没有找到全面的描述。因此,如果任何人都可以形成一个涵盖指针大小的答案,那将会有很大的帮助。答案至少应包括以下主题
答案 0 :(得分:16)
指针是由高级语言提供的抽象;理论上它可以是任何宽度。这完全是编译器的一时兴起。
实际上,它通常与底层硬件的内存地址宽度有关,因为这通常是编译器实现的最有效的方法。但也有例外;例如,C ++的指向成员函数的指针没有直接映射到硬件地址,因为它需要表示两个实体(函数和类型的某些概念)。
然而,即使把它放在一边,仍然存在复杂性。例如: