c - 分配给另一个参数时警告分配不兼容的指针类型

标签 c pointers compiler-warnings

在代码中,我在编译时收到此警告。 我试图解决这个问题,但我无法解决这个问题。

  static uint8_t tx_data;

 int *recvdata2,*recvdata;
 recvdata= str2int(tx_data); //warning assignment from incompatible pointer type
recvdata2=(uint8_t*)&recvdata

str2int是将字符串转换为整数的函数。

   int str2int(char *str)
{
    int res=0;
    int i;
    for ( i = 0; str[i] != '\0'; ++i)
    res=(res)*10+str[i]-'0';
    return res;
}

我对此很菜鸟。请帮我解决这个问题。 任何帮助将不胜感激。

最佳答案

当前您正在尝试将 int 分配给 int * 您会看到 recvdata 是指向 int 的指针。

修改如下。

 int *recvdata2, recvdata;
 recvdata = str2int(tx_data);
 recvdata2 = &recvdata

关于c - 分配给另一个参数时警告分配不兼容的指针类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53810788/

相关文章:

c - 带有二维动态阵列的分段故障(核心转储)

创建一个接受枚举变量并返回字符串指针的函数

c - 这些语法的含义(指针算术?)

objective-c - 当 block 在初始化器中时捕获 block 中的变量

c - c中的循环迭代

c - 如果没有任何东西连接到串行端口,read( )(在 C 语言中)会返回什么?

c - 无递归的后订单打印

OCaml 自定义编译器警告

git - 摆脱 Xcode 中的 "File still marked as conflicted"警告

c - 如何打印从命令行参数获取的字符串中的转义字符?