|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Mr.HO 于 2018-2-20 12:28 编辑
#include <iostream>
using namespace std;
struct Teacher
{
char name[64];
int age;
};
int GetTeacher(Teacher **pt)
{
Teacher *temp=NULL;
if (pt==NULL)
{
return -1;
}
temp=(Teacher *)malloc(sizeof(Teacher));
if (temp==NULL)
{
return -2;
}
temp->age=33;
*pt=temp;
}
void FreeTeacher(Teacher *Pt1)
{
if (Pt1==NULL)
{
return;
}
free(Pt1);
}
int GetTeacher2(Teacher * &pp)
{
pp=(Teacher *)malloc(sizeof(Teacher));
if (pp=NULL)
{
return -1;
}
pp->age=36; ///////////////////////////////////////////////////我执行到这里报错了,是为什么,没发现错在哪里了?
}
void main(void)
{
Teacher * Pt1=NULL;
GetTeacher(&Pt1);
cout<<"pt1.age="<<Pt1->age<<endl;
FreeTeacher(Pt1);
GetTeacher2(Pt1);
cout<<"pt1.age="<<Pt1->age<<endl;
FreeTeacher(Pt1);
system("pause");
}
可以看到申请成功了
现在又没了,为什么?
仔细一看
哦,原来如此
|
|