Cのすべてのポインタが同じサイズであるのはなぜですか?私は64ビットアーチを使っています。なぜポインタが同じサイズのCである
#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
なぜ同じサイズではないのですか? –
これらは同じサイズであることは保証されていませんが、通常は常に次のとおりです。http://stackoverflow.com/questions/1241205/are-all-data-pointers-the-same-size-in-one-platform-for-all- data-types – SurvivalMachine
それらのうちの1つが小さいサイズを持つと仮定すると、そのタイプのものがメモリ内に存在することが許可されている場所に大きな制限があります。 – harold