首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

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

通过调用函数给指针分配内存的问题
如代码所示为何用在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];
}

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

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

热点排行