#if 1
struct Teacher
{
char name[64];
int age;
};
int getTeacher(Teacher **p)
{
if (p == NULL)
{
return -1;
}
Teacher *tmp;
tmp = (Teacher *)malloc(sizeof(Teacher) * 1);
if (tmp == NULL)
{
return -2;
printf("malloc failed\n");
}
tmp->age = 1111;
*p = tmp;
}
int getTeacher2(Teacher* &myp)
{
myp = (Teacher *)malloc(sizeof(Teacher) * 1);
if (myp == NULL)
{
return -2;
printf("malloc failed\n");
}
myp->age = 2222;
}
void FreeTeacher(Teacher *pT1)
{
if (pT1 == NULL)
{
return;
}
free(pT1);
}
void test()
{
Teacher *pT1;
getTeacher(&pT1);
cout << "age = " << pT1->age << endl;
FreeTeacher(pT1);
getTeacher2(pT1);
cout << "age = " << pT1->age << endl;
FreeTeacher(pT1);
}
#endif