#include<stdio.h>
int main(void)
{
int *p1;
char *p2;
double *p3;
int a;
char b;
double c;
p1 = &a;
p2 = &b;
p3 = &c;
printf("int*所占的字节=%d\nchar*所占的字节=%d\ndouble*所占的字节=%d\n",sizeof(p1),sizeof(p2),sizeof(p3));
printf("p1 = %p p2 = %p p3 = %p\n",p1,p2,p3);
printf("p1++ = %p p2++ =%p p3++ = %p\n",++p1,++p2,++p3);
return 0;
}
在内存中,指针变量所占的内存大小是一样的,都占4个字节,但是当它指向下一个单元时,所跳过的内存就和定义时用的是int还是char有关了,它会自动跳转该字符类型所占的字节大小。