C语言指针--搬运
一:

总结
两个不同类型的指针(地址)相同。
我们知道int*pa=&a;int有4个字节,而地址就是第一个字节地址编号,所以char*pc也存储了int a的第一个字节编号,所以两个地址相同
二:



我们可以清楚的看到
初始化int a=0x0012ff33;(0x表示16进制的数据)
int *pa=&a; *pa=1; : a=0x00000001;
char* pc=&a; *pc=1;: a=0x00 f f 1201;
*pc只能对int a一个字节解引用,访问一个字节。
总结:
指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字节)。比如:char*的指针解引用就只能访问一个字节,而int*的指针的解引用就能访问四个字节。
三

是按字节编址,一个字节对应一个编号,所以int *为int(4个字节)类型的指针,加减整数1,地址加减4 ; char *加减1,地址改变1。
总结
指针类型决定了指针向前或向后一步移动的步长(距离)。
野指针

没有初始化的指针就是野指针(很危险的)
浙公网安备 33010602011771号