• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

各位路过大神帮看一下,关于C语言变量指针的问题

chunyang 2021-01-21 浏览量:2099
a=2;
SendString(a);

目的是想把一个变量通过串口发送到电脑上,

编译的时候提示非法指针转换
main.c(88): error C214: illegal pointer conversion


那么,a的变量该如何传送出去?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 估计 SendString 需要一个char*类型的数据,而且char*的后续数据中还必须有一个'\0'来结束字符串。

    这里的a是int类型,当然不符合要求。

    char astr[2]={''   '\0'};

    astr[1]='0'+2;

    SendString(astr);

    • 发布于 2021-01-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 先看一下你的函数SendString是个什么样的函数,把原形发出来吧,可能是你的函数的参数的类型是不正确的。

    看上去是发字符串的函数,应该是一个指针的参数才对的

    • 发布于2021-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 发送函数的参数数据类型和a不同,检查一下函数原型
    • 发布于2021-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 2点需要注意:

    1.a的定义是什么类型

    2.SendString(a);这个函数的参数是什么类型,来说这是一个指针类型,应该给他赋值一个地址的

    • 发布于2021-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • SendString(a);应该是指针类型,把一个地址指针地址给他才对
    • 发布于2021-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 检查一下 SendString的参数类型是不是一个指针,如果是指针的话要使用 SendString(&a);
    • 发布于2021-01-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

各位路过大神帮看一下,关于C语言变量指针的问题