指针的大小以及该大小是否取决于体系结构

Kan*_*ani 5 c pointers

好吧,对不起,这个问题更像是一个一般的文化(还没有找到确切的答案)。

如果我有类似的东西

char * Field
Run Code Online (Sandbox Code Playgroud)

或者

void * Field
Run Code Online (Sandbox Code Playgroud)

或者

double pointers
Run Code Online (Sandbox Code Playgroud)
  • 指针的大小是一样的吗?(据我记得大学时它是 4 个字节,但是......)
  • 指针的大小是否相同取决于 CPU 的架构?
  • 如果我指向一个数据结构,指针本身的大小是一样的,不是吗?

假设 C 中的示例(我倾向于相信其他不直接处理指针的语言也是如此)

NPE*_*NPE 3

指针的大小是一样的吗?(据我记得大学时它是 4 个字节,但是......)

不一定相同,也不一定是 4 个字节:在一个平台上,对于所有数据类型,所有数据指针的大小是否相同?

根据CPU的架构,指针的大小是否相同?

它因建筑而异。即使在相同的硬件上,它也会因操作系统的不同而有所不同(例如,32 位与 64 位)。

如果我指向一个数据结构,指针本身的大小是相同的,不是吗?

同样,也不一定:在一个平台上,对于所有数据类型,所有数据指针的大小是否相同?