如何在C中的void指针函数中传递浮点值

问题描述 投票:0回答:1

创建 void* 函数并传递 diff。在 get_value 函数和基于类型的操作中对该值进行类型转换之后,获得诸如 float、int 和 double 之类的值类型。

错误 main.c:17:27:错误:“float”类型的操作数无法转换为指针类型

#include <stdio.h>
#include <stdint.h>
void get_value(void* data)
{
    printf("Value %f \r\n", (float)data);
}


int main(void) {
    float di = 10.10;
    get_value((void *)di); 
    return 0;
}
c embedded
1个回答
0
投票

您的问题不清楚,但如果您尝试通过类型转换将浮点值传递到 get_value 函数中,则需要将浮点值定义为指针。现在您正尝试将 10.10 更改为无效的 void 指针。你可以试试这个:

float* di;
*di = 10.10
get_value((void *)di); 
© www.soinside.com 2019 - 2024. All rights reserved.