环境是Keil 语言是C语言
定义void型指针变量,有时想使其指向字节型变量,有时想使其指向整型变量。但是如何修改对应变量的值呢?
程序如下:
void *ptemp; //void型指针变量
unsigned char aaa = 2; //定义字节型变量
unsigned int bbb = 3; //定义整型变量
ptemp = (unsigned char *)(&aaa); //使void型指针变量指向字节型变量
*ptemp = 5; //想将变量aaa的值由原来的2,通过指针修改为5;
以上的方法可行吗?
但是使用Keil编译的时候,语句 *ptemp = 5;编译通不过,提示赋值到未知类型的区域。
我觉得使用void型指针可以在程序中通过强制转换使其指向规定类型的变量,此后,该指针就是指向规定类型的指针,这样理解对吗?还是程序中哪儿写得不对,希望得到指点!谢谢先! |