使用typedef传递和使用struct

时间:2016-04-12 21:36:46

标签: c struct 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;

1 个答案:

答案 0 :(得分:2)

一元.的优先级低于*(current.num) = 1

因此,您的代码被解析为(*current).num,这非常不符合您的要求。

相反,您需要先强制取消引用:current->num

这很常见,C有一个简写:if File.exists? afterScriptPath then config.vm.provision "shell", path: afterScriptPath end