C++单纯的指针传参的问题

C++指针传参也是单纯的复制一份地址,如下代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream> 
using namespace std;
void fun(char *p)
{
    p = (char *)malloc(sizeof(char) * 10);
}
int main()
{
    char *p = NULL;
    fun(p);
    std::cout << p;
    return 0;
}
 char *p = NULL;一个P指向了一个NULL
fun(p);复制了一个P_1指向了一个NULL
然后P_1指向堆里面一个申请的内存,函数结束,P_1释放,但是申请的内存的不释放,长期如此,会导致内存泄漏,
而且此时P仍然指向NULL,而不是P_1的地址,因为是复制,不会对P产生改变

 
原文地址:https://www.cnblogs.com/tangmiao/p/11217467.html