下面的代码是否可以工作? -按值传递char *
void doSomething(char* in)
{
strcpy(in,"mytext");
}
这里的功能是如何被称为:
doSomething(testIn);
OtherFn(testIn);
的char* in
在代码中的其他地方使用,我们正按值传递它的功能doSomething
。我明白当我们通过价值传递时,存储在char*
中的字符串副本将被复制到函数中。所以,当我们做一个strcpy
时,它会复制到本地副本还是作为参数传入的char* in
?
我的理解是我们需要做的:doSomething(char* &in)
。是对的吗?
TESTIN是一个char *吗? – 2015-03-31 04:37:49
@YasirMajeed:是 – techieChamp 2015-03-31 04:41:26
顺便说一句:不,“存储在char *中的字符串的副本不在函数内复制。”只有指针值被复制,而不是指向_to_的字符串。 – 2015-03-31 04:47:10