解决下指针问题
int a[5]={1,2,3,4,5};int *p=(int *)a;
p++;//p 的指向。
char *cp=(char *)a;
cp++;//cp 的指向
int ** mp=(int *)a;
mp++;// mp 的指向
type *p = 0; p是指向type的指针。 p += n;等价于p = 0 + n*sizeof(type);[通用点就是这样 p = (type*)((int)p+ n*sizeof(type));] sizeof(任何指针) == 4;(32位的机器) int a[5]={1,2,3,4,5}; //假设&a[0] = 0x0000; int *p=(int *)a;//p = 0x0000;sizeof(int) == 4; p++;//p 的指向。//p++ == 0x0004;即p指向a[1] char *cp=(char *)a;//p = 0x0000;sizeof(char) == 1; cp++;//cp++ == 0x0001; int ** mp=(int **)a;//p = 0x0000;sizeof(int*) == 4; mp++;// mp++ == 0x0004;
int a[5]={1,2,3,4,5}; int *p=(int *)a; p++;//p 的指向数组的第二个元素 也就是a[1]; char *cp=(char *)a; cp++;//cp 的指向 第一个数据a[0]的 8--16位 int ** mp=(int *)a;//这句话是错的 !!!!!! mp++;// mp 的指向改变指针所指向的类型 只是改变了指针取内容的方式