繁体   English   中英

通过typedef传递和使用struct

[英]Passing and using struct with typedef

我如何通过将其传递给另一个函数来与typedef一起使用下一个结构?

我已经尝试过此代码,但似乎无法正常工作。

typedef struct stru{
    int num;
} stru;

int main(void)
{
    stru current;
    struc(&current);
    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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM