指针地址到整数的转换。
char *p1 = "12345";
char p2[] = "12345";
printf("%s:\n",p1);
printf("\t%ld %ld %ld %ld %ld\n",(unsigned int)&p1[0],(unsigned int)&p1[1],(unsigned int)&p1[2],(unsigned int)&p1[3],(unsigned int)&p1[4]);
printf("%s:\n",p2);
printf("\t%ld %ld %ld %ld %ld\n",(unsigned int)&p2[0],(unsigned int)&p2[1],(unsigned int)&p2[2],(unsigned int)&p2[3],(unsigned int)&p2[4]);
总提示一个警告:
\test.cpp(49) : warning C4311: “类型转换” : 从“char *__w64 ”到“unsigned int”的指针截断
怎么消除这个警告呢?