c语言嵌入式数据类型转换问题

在进行类型转换后
int oct_rand_bytes(unsigned char rand, int len)
{
if( !oct_fipsrand_generate((uint8_t *)rand ,(uint64_t) len, NULL))
return len;
else
return 0;
}
oct_fipsrand_generate((uint8_t *)rand ,(uint64_t) len, NULL))
出现Bus error,
*
是在嵌入式下出现的错误,有大神能帮忙指点一下该如何转换类型啊**

3个回答

为什么要把uint8转为uint8* 呢,是本意如此还是错了

xiaozhao2017
xiaozhao2017 是把unsigned char *rand转换成(uint8_t *)rand,int len转换成(uint64_t) len,不知怎么的,丢了一个*号呢
3 年多之前 回复

假如unsigned char rand 漏掉了 * , 感觉类型转换没有错误

int oct_rand_bytes(unsigned char rand, int len)
。。。。。。。。
if( !oct_fipsrand_generate((uint8_t *)rand ,(uint64_t) len, NULL))

把一个值强行转换成指针!!!!

oct_fipsrand_generate 这个函数的第一个参数是指针嘛~~~~~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问