68,698
社区成员




#include<stdio.h>
struct INFO
{
int a;
char b;
double c;
};
int main()
{
int *p;
char *p1;
float *p2;
double *p3;
struct INFO *p4; //struct INFO类型为结构体类型
void *p5;
printf("int point size is :%d\n",sizeof(p));
printf("char point size is :%d\n",sizeof(p1));
printf("float point size is :%d\n",sizeof(p2));
printf("double point size is :%d\n",sizeof(p3));
printf("struct point size is :%d\n",sizeof(p4));
printf("void point size is :%d\n",sizeof(p5));
return 0;
}
你看看编译器是32位还是64位,64位打印出来是8
理论上,它与操作系统无关,与编译器及生成代码的位数有关(当然,32位系统下是不能运行63位程序的)
在64位系统上,用分别用32/64位结果如下
电脑是64位操作系统