为什么指针在 C 中具有相同的大小

Why are pointers are of same size in C

为什么C语言中所有指针的大小都一样?我在 64 位架构上。

#include<stdio.h>

int main(){
printf("int\t%ld\n",sizeof(int*));
printf("char\t%ld\n",sizeof(char*));
printf("void\t%ld\n",sizeof(void*));
printf("float\t%ld\n",sizeof(float*));
}

OP :
int     8
char    8
void    8
float   8

因为你只需要 64 位来索引一个内存地址,而你列出的所有数据类型只需要索引一个内存地址(给定数据 'starts' 在内存中)。请注意,这对于 C 是正确的,但在 C++ 中,例如,成员函数指针可能不止于此。