引用作为C中的参数

时间:2012-05-24 20:24:50

标签: c struct

这似乎是一个简单的问题,但我没有任何运气寻找任何答案,所以这里。我有一个带有char * name和int age的struct Person。我有以下方法:

void Person_messup(struct Person &who) {
    who.name="asdfasdf";
    who.age = 9001;
}

编译此代码会出现以下错误:

error: expected ; , or ) before & token

我可以使用指针甚至传递对象结构来实现上述功能,但是我遇到了这个特定实现的问题。谢谢你的帮助!

2 个答案:

答案 0 :(得分:9)

c中没有引用 - 将结构作为指针传递。

void Person_messup(Person *who) {
    who->name="asdfasdf"; // or really strcpy!
    who->age = 9001;
}

(或使用c ++!)

答案 1 :(得分:0)

尝试传递'struct Person * who'。