int * fun1 (void){ int *Ptr; *Ptr = 10; return Ptr;}int * fun2 (void){ int *Ptr; Ptr = (int *) malloc( sizeof (int)); return Ptr;}
引用第1楼yinx于2007-11-22 13:24发表的 :fun1中不能对Ptr指针赋立即数;fun2中的Ptr是一个局部变量,函数返回后会丢失,但malloc出来的空间却仍然残留在堆中不知对不对……
引用第2楼ljpdxj于2007-11-22 13:30发表的 :第一个是因为*Ptr中存放的地址没有初始化,不能这样赋值第二个我不也不知道哪里错了。。。Ptr返回的是一个指向堆空间的一个地址,我觉得没有错。。。