下面的代碼是否可以工作? -按值傳遞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