[英]Passing and using struct with typedef
我如何通过将其传递给另一个函数来与typedef一起使用下一个结构?
我已经尝试过此代码,但似乎无法正常工作。
typedef struct stru{
int num;
} stru;
int main(void)
{
stru current;
struc(¤t);
printf("%d", current.num);
}
int struc(stru* current)
{
*current.num = 1;
return 0;
}
它没有用,因为它不是将其设置为1的正确方法,我想有人可以帮我做吗,我尝试了几种其他方法,但是它们都不起作用
*current.num = 1;
一元*
优先级低于.
。
因此,您的代码被解析为*(current.num) = 1
,这不是您想要的。
相反,您需要强制取消引用首先发生: (*current).num
。
这是如此普遍,以至于C有一个简写形式: current->num
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.