读书人

通过调用函数给指针分配内存的有关问题

发布时间: 2013-03-04 17:22:12 作者: rapoo

通过调用函数给指针分配内存的问题
如代码所示为何用在GetMemory()中分配了内存,回到主函数又变成了空指针?



void GetMemory(char* ptr, int size)
{
ptr = new char[size];
}
int main()
{
char* ptr = NULL;
GetMemory(ptr, 100);
// 此时ptr仍为NULL 是为什么?
...
//
delete[] ptr;
}
指针 内存分配 C++
[解决办法]
void GetMemory(char** ptr, int size)
{
*ptr = new char[size];
}

[解决办法]
引用:
引用:说的都对 谢谢,如果来个接下下理论或者 指出那本书上有记载?

说的都对 谢谢,如果来个解释下理论或者 指出那本书上有记载 就太好了
指针传递也是值传递,只不过传递的是指针的值
你要修改的是指针的值,因此要把这个指针本身或者指针地址传进去
请自己理解,如果不能理解请翻书上关于参数传递的部分

读书人网 >C++

热点推荐