取消引用指针
发布时间: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)将发送指针,这就是你需要的. 当函数声明的参数包含星号(*)时,需要指向某事物的指针.然后,当您将该参数传递给另一个需要另一个指针的函数时,您需要传递参数的名称,因为它已经是一个指针. 使用星号时,您取消引用指针.这实际上发送了“创建点的内存单元格”,实际的结构而不是指针. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |