假设我们有一个将双指针作为参数的函数,并且我们想修改该值:
void fun(uint8_t *arg1) {
*arg1 = 2;
}
int main(void) {
double a;
fun((uint8_t*)&a); // does not work
return 0;
}
这有可能吗?
您指定的是未定义的行为:您不能将指针强制转换为其他类型。
最好的选择是创建一个uint8_t
in main
,将指向该函数的指针传递给您的函数fun
,然后将该修改后的值分配给double。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句