void GetMem(char* pData){pData = new char[100];}char* pDDD = NULL;GetMem(pDDD);strcpy(pDDD,"hello");运行结果是什么
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 14:39:32
xRKAW"w$tA'适˺!"jY
)~R,?33?(T:ta{=\P @FvA^K5A/9i( &s:}lrr>8:xwqIaa8XYmZZ<4He4rc~J& %\D(e6[t.CBgڳzڀ<;)J`ѴKJ#kFnV0TCr2M+|iK]~hʸF:VR9>JPc|&Wz7+*~YWIned=fs
֊`\_ua0%>SI#2<-~3#.Qٕ/WrD
void GetMem(char* pData){pData = new char[100];}char* pDDD = NULL;GetMem(pDDD);strcpy(pDDD,"hello");运行结果是什么
void GetMem(char* pData)
{
pData = new char[100];
}
char* pDDD = NULL;
GetMem(pDDD);
strcpy(pDDD,"hello");
运行结果是什么
void GetMem(char* pData){pData = new char[100];}char* pDDD = NULL;GetMem(pDDD);strcpy(pDDD,"hello");运行结果是什么
传入的是值参,
在函数里的修改没有用.
所以pDDD在函数运行完之后还是 NULL
strcpy 这一句会出错.Runtime error.
而函数里new 的那块内存无法释放,会造成内存泄露.
void GetMem(char** ppData)
{
*ppData = new char[100];
}
char* pDDD = NULL;
GetMem(&pDDD);
strcpy(pDDD,"hello");
...
delete []pDDD;
这样还差不多.