请问一个内存申请问题,帮我看看,谢谢! void newchar(char *a){ a=new char[20];}void f(){ char *aa=NULL; newchar(aa);} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在newchar函数中的局部申请,在f中是不可以用的 newchar函数中的局部申请是不是我要GlobalAlloc才能保证f()中aa能申请到空间啊?谢谢!!!!! newchar函数不能传递动态内存不知道你有没有看过《高质量C/C++编程》这本书,上面就有提到这个问题。==========================================================void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void) { char *str = NULL;GetMemory(str); strcpy(str, "hello world"); printf(str);}请问运行Test函数会有什么样的结果?答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的 str一直都是 NULL。strcpy(str, "hello world");将使程序崩溃。 char* newchar(char *a){ return new char[20];}void f(){ char *aa=NULL; aa=newchar();}或者void newchar(char **a){ *a=new char[20];}void f(){ char *aa=NULL; newchar(&aa);}都可以得到空间 呵呵,我想知道用GlobalAlloc等能不能实现,谢谢! dll中调用GDI 初始化的问题 窗口设置为最前,然后立即取消 200RMB求修改EXE菜单! 问一个关于SetPixel()函数的问题 在多线程程序里,应用程序当掉,不做任何响应,查看错误日志: ★★★★串口操作中的一些简单问题!★★★★ 关于序列化的初级问题 如何使用 VC 编写接发传真 关于Clistbox右键菜单的问题 MCSD和高程! 关于在MDI结构程序中内嵌SDI结构的问题 要创业了,请各位xdjm给想个公司的名字,(不好意思,分只有这么多了)
是不是我要GlobalAlloc才能保证
f()中aa能申请到空间啊?
谢谢!!!!!
不知道你有没有看过《高质量C/C++编程》这本书,上面就有提到这个问题。
==========================================================
void GetMemory(char *p)
{
p = (char *)malloc(100);
}void Test(void)
{
char *str = NULL;GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
请问运行Test函数会有什么样的结果?
答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的 str一直都是 NULL。strcpy(str, "hello world");将使程序崩溃。
{
return new char[20];
}
void f()
{
char *aa=NULL;
aa=newchar();
}
或者
void newchar(char **a)
{
*a=new char[20];
}
void f()
{
char *aa=NULL;
newchar(&aa);
}
都可以得到空间