#include <iostream>
using namespace std;
struct Teacher
{
int age = 10;
};
int getTeacher1(Teacher** p)
{
Teacher* tmp = NULL;
tmp = (Teacher*)malloc(sizeof(Teacher));
if (!tmp)
return -1;
tmp->age = 20;
*p = tmp;
return 0;
}
int getTeacher2(Teacher*& p)
{
p = (Teacher*)malloc(sizeof(Teacher));
if (p == NULL)
return -1;
p->age = 30;
return 0;
}
int freeTeacher(Teacher* p)
{
if (p == NULL)
return 0;
free(p);
}
int main()
{
Teacher* t = NULL;
//C語言中二級指針
getTeacher1(&t);
cout << t->age << endl;
freeTeacher(t);
//C++中的指針參照
getTeacher2(t);
cout << t->age << endl;
freeTeacher(t);
}