区别1:
还是指针,指针的2个内容要清楚 1个是指针类型 1个是指针地址
char *p1;int *p2;
p1 = (char *)malloc(1024 * 100);
p2 = (int *)malloc(1024 * 100);
你分配了2块内存,一个100字节 首地址给了p1,一个是400字节 首地址给了p2
p1 = (char *)p2 执行了类型转换和地址赋值,但是内存大小不变,p1指向400字节的内存
区别2:
指针的类型决定对所指向的内存数据的解析方式
同样是+1,一个int *指针实际前移4个字节