void GetMem(char* pData){pData = new char[100];}char* pDDD = NULL;GetMem(pDDD);strcpy(pDDD,"hello");运行结果是什么
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 06:59:01
![void GetMem(char* pData){pData = new char[100];}char* pDDD = NULL;GetMem(pDDD);strcpy(pDDD,](/uploads/image/z/5463705-57-5.jpg?t=void+GetMem%28char%2A+pData%29%7BpData+%EF%BC%9D+new+char%5B100%5D%3B%7Dchar%2A+pDDD+%3D+NULL%3BGetMem%28pDDD%29%3Bstrcpy%28pDDD%2C%22hello%22%29%3B%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF%E4%BB%80%E4%B9%88)
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;
这样还差不多.