指针和其指向的数据类型有关系,你可以用sizeof()来做测试:
printf("the size of char is %d\n",sizeof(int*));
printf("the size of char is %d\n",sizeof(char*));
另外,指向结构体的指针就要看具体情况了,C语言还有所谓的“对齐机制”,就是结构体里的单元,所分配的空间实际上要参照结构体里“体积”最大的那个单元。就是说,比如一个char和一个int,char要向int看齐,一个char和一个double,char要向double看齐。关键就在于凑整数,凑成最大变量大小的倍数。当然,如果结构体里只有char型的变量或是数组,就不存在一定要凑数的问题了。
温馨提示:答案为网友推荐,仅供参考