- 论坛徽章:
- 0
|
关于指针类型牵制转换的问题,求救
*tmpptr = (char*)ptr;
这条语句有错误吧,(char *) ptr是个指针,*tmpptr是个char 变量,
类型不同。应该是*tmpptr = *((char*)ptr)
我写了一个小程序,觉得类型转换应该是可以的。请指教。
#include <stdio.h>;
main()
{
char a[4] ;
short b[4] = { 1000, 100,10,01};
short *c ;
int i ;
c = (short *)&b ;
printf("short : %d\n",sizeof(short));
printf("char : %d\n",sizeof(char));
printf("b address [%X]\n",c);
for (i=0;i<4;i++)
{
printf("%d [%X]",*c,c);
c++;
printf("\n" ;
}
c = (short *)&b ;
for (i=0;i<8;i++)
{
printf("%X " , *((unsigned char *)c));
printf("b address [%X]\n",c);
c = (char *)c + 1 ;
}
} |
|