加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

取消引用指针

发布时间:2020-12-16 10:29:16 所属栏目:百科 来源:网络整理
导读:当我在fill函数中打包结构并传递指针以发送如何取消引用它时,如何取消引用指针?因为我在我所做的事情中得到了分段错误 #includestdio.hstruct xxx{ int x; int y;};void fill(struct xxx *create){ create-x = 10; create-y = 20; send(*create);}main(){ s
当我在fill函数中打包结构并传递指针以发送如何取消引用它时,如何取消引用指针?因为我在我所做的事情中得到了分段错误

#include<stdio.h>
struct xxx
{
    int x;
    int y;
};

void fill(struct xxx *create)
{
    create->x = 10;
    create->y = 20;
    send(*create);
}


main()
{
    struct xxx create;
    fill(&create);
}

send(struct xxx *ptr)
{
    printf("%dn",ptr->x);
    printf("%dn",ptr->y);
}

解决方法

send(* create)将发送实际的struct对象,而不是指针.

send(create)将发送指针,这就是你需要的.

当函数声明的参数包含星号(*)时,需要指向某事物的指针.然后,当您将该参数传递给另一个需要另一个指针的函数时,您需要传递参数的名称,因为它已经是一个指针.

使用星号时,您取消引用指针.这实际上发送了“创建点的内存单元格”,实际的结构而不是指针.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读