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

如何把一个结构体作为函数的参数传递

bigCQ 2018-12-07 浏览量:1039
怎么实现
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以设置成结构体类型比如有一个结构体是  typedef  struct  AAA;

    再定义一个变量 AAA yyy;

    函数就是  void ttttt(AAA  xxx)这里的xxx就是AAA结构体类型的形参了

    也可以直接使用指针,把结构体地址给指针,再函数体内进行分成员的使用

    或是使用结构体指针

    • 发布于 2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:13
  • 定义一个结构体变量,直接把结构体变量当作一个 int 类型的变量,直接传值就可以

    也可以定义一个指针,指针指向结构体,传递指针

    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 用结构体指针就可以了,直接用->就是里面的元素
    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • C语言中,只有基本类型(charintlongfloat)传值时使用了隐藏拷贝。

    结构体无法直接传值,只能传地址。也就是以指针作为参数。

    C++提供了传引用的方式。可惜嵌入式编程以C为主,所以只能传地址

    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 把结构体转成指针后传递给函数就可以了,
    • 发布于2018-12-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果结构体的数据可以放进一个基本类型变量中,

    则可以先把结构体按基本类型传递,在使用时强制转换为结构体使用,

    这时可以传值传参这样直接传参

    否则只能传指针来间接传参

    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义结构体指针,通过传递地址。在函数里使用"->"来设置结构体成员。
    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义结构体指针,然后函数传递这个指针就相当于把结构体也传过去了
    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 传它的指针就可以了.传它的地址.
    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 函数的形参可以是任何类型的参数,从int char 到int* char* void*指针再到结构体、结构体指针都可以的。不过结构体一样是传址的,需要传指针进去函数里面。

    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 先转成个指针吧,直接传输指针的地址到函数就可以了
    • 发布于2018-12-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接传递指针,或者直接传递结构体变量,都是可以的
    • 发布于2018-12-10
    • 举报
    • 评论 0
    • 0
    • 0

  • typedef struct{XXX}abc;

    void XXX(abc* cde);

    这样传指针就行

    • 发布于2019-01-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 把结构体的地址放到指针中,用指针来进行传递
    • 发布于2019-01-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何把一个结构体作为函数的参数传递