假设有char a[2];
如要把a转换为int值。应是如下写法int b=*(int *)a;
即,先把指针a 转换为一个int指针,然后再此基础上取值。
但是另一种写法 int b=(int)(*a);是不对的,*a 取a的内存单元内容,因为现在a是char指针,所以只会取a[1]中内容,最大为255. 这里要说明的是,在把char或byte数组转换为其他类型的值时,要先把数组指针的类型变为其他数据类型的指针。然后再取值。
C/C++ byte或者char数组转int值
最新推荐文章于 2023-07-14 14:36:29 发布