33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a[] ={0,1,2,3};
int *pI=a; //int指针
char *pC ; //char指针
pC=pI; //Dev c++(C工程下)这样是可以的,但是VC++得pC=(char *)pI;(感觉是C++对类型的要求更严格吧)
pI =(int*)pC; //类型转换(如何吧pC转化成int型指针)
printf("打印地址 = %d",(pC+1)); // 为啥没有转换成功(结果地址仅+1而不是+4)?
system("PAUSE");
return 0;
}
pI =(int*)pC; //类型转换
printf("打印地址 = %d",(pI+1)); // 既然上一行代码转换了,那就用转换后的pI
printf("打印地址 = %d",(int *)(pC)+1);//这强制转换一下