解决下指针问题
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 的指向 改变指针所指向的类型 只是改变了指针取内容的方式