这是我的代码
int main()
{
char *pchar;
short *pshort;
int *pint;
long *plong;
float *pfloat;
double *pdouble;
pchar = pshort = pint = plong = pfloat = pdouble;
printf("sizeof *pchar is = %u\n",sizeof(pchar));
printf("sizeof *pshort is = %u\n",sizeof(pshort));
printf("sizeof *pint is = %u\n",sizeof(pint));
printf("sizeof *plong is = %u\n",sizeof(plong));
printf("sizeof *pfloat is = %u\n",sizeof(pfloat));
printf("sizeof *pdouble is = %u\n",sizeof(pdouble));
return 0;
}
我希望这些指针变量中的每一个指向不同的数据类型,但它们将在内存中占用相同的空间量。我怎么能这样做?
答案 0 :(得分:0)
制作通用指针。
当一个变量被声明为一个指向void类型的指针时,它就是 称为通用指针。因为你不能有一个类型的变量 void,指针不会指向任何数据,因此不能 解引用。它仍然是一个指针,你必须使用它 首先将它转换为另一种指针。因此,术语Generic 指针。
这个link有一个例子。