众所周知,指针内部存放着所指向对象的地址,同时,指针由于所指对象·的类型不同可以分为多种类型,如int*、char*、double*、floatr*等等,当然,还有void*类的通用指针;
那指针的大小是否会根据类型不同而改变呢?
这里我们直接输出五个指针类型的大小,结果一目了然
#include<stdio.h>
int main() {
printf("the size of int* =%d \n", sizeof(int*));
printf("the size of char* =%d \n", sizeof(char*));
printf("the size of float* =%d \n", sizeof(float*));
printf("the size of double* =%d \n", sizeof(double*));
printf("the size of void* =%d ",sizeof(void*));
}
x86架构下
x64架构下
由此可知,无论指针类型是什么,由于指针存的内容统一都是一个地址,故其大小也都相同,统一为4或8个字节。