读书人

函数输入、输出参数地址有关问题

发布时间: 2012-03-04 11:13:33 作者: rapoo

函数输入、输出参数地址问题
现在需要实现这样一个功能:
通过一个输入参数传入一个char*,通过输出参数char*返回输入参数char*的地址。也就是希望输出参数的指针地址和输入char*一样。请问应该如何实现?

定义如下函数,可是输出指针的地址outpoint并不能在函数调用后仍然指向inpoint的地址(在函数体内可以指向),函数返回后outpoint指向NULL即mian中对outpoint的初始值。

请问各位这是为什么?要实现我的需求应该如何实现,望各位执教!

void Test(char* inpoint,char* outpoint)
{
outpoint = inpoint;
}


int main()
{
char* inpoint = new char(256);
char* outpoint = NULL;
strcpy(inpoint, "hello ");
Test(inpoint, outpoint);
return 0;
}

[解决办法]
void Test(char* &inpoint,char* &outpoint)
[解决办法]
void Test(char* inpoint,char* outpoint)
=========>
void Test(char* inpoint,char*& outpoint)

[解决办法]
void Test(char* inpoint,char** outpoint)
{
*outpoint = inpoint;
}
[解决办法]
char* output)
这是还是用作传值调用,应用**output.
[解决办法]
如果觉得二重指针很难理解就直接用return返回吧。

读书人网 >C++

热点推荐