#include<iostream>
using namespace std;
int main()
{
int a=1025;
int *p=&a;//另一种写法
printf("p的地址是:%d\n",p);
printf("p的值是:%d\n",*p);
printf("int的大小为:%d\n",sizeof(int));
printf("p+1的地址为 %d\n",p+1);
printf("p+1的值为 %d\n",*(p+1));//溢出的p为随机值
char *p0;
//p0=p;直接这样理解就是新的指针*p0赋值*p,
//但是*p是int类型的,而*p0是 char类型的
//所以要用指针的强制转换char*
p0=(char*)p;
printf("char的字节是%d\n",sizeof(char));
printf("p0的地址为%d\n p0的值为%d\n",p0,*p0);
printf("p0+1的地址为%d\n p0+1的值为%d\n",p0+1,*(p0+1)) ;
//1025 的32位二进制表示:00000000 00000000 00000100 00000001
return 0;
}


被折叠的 条评论
为什么被折叠?



