//指针引用
#include<iostream>
using namespace std;
struct Teacher{
char name[30];
int age;
};
int InitA(Teacher **pout/*out*/){
int ERRO_MSG = 0;
if (pout==NULL)
{
ERRO_MSG = 1;
printf("pout==NULL erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
Teacher* ptemp = (Teacher*)malloc(sizeof(Teacher));
if (ptemp == NULL)
{
ERRO_MSG = 2;
printf("内存分配失败! erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
ptemp->age = 22;
*pout = ptemp;
return ERRO_MSG;
}
//指针引用
int InitB(Teacher* &pout){
int ERRO_MSG = 0;
pout = (Teacher*)malloc(sizeof(Teacher));
if (pout == NULL)
{
ERRO_MSG = 2;
printf("内存分配失败! erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
pout->age = 33;
return ERRO_MSG;
}
void main(){
Teacher *p = NULL;
int ret = 0;
//ret=InitA(&p);
//if (ret!=0)
//{
// printf("初始化Teacher失败!\n");
//}
//printf("教师A的年龄是%d\n",p->age);
ret = InitB(p);
if (ret != 0)
{
printf("初始化Teacher失败!\n");
}
printf("教师B的年龄是%d\n", p->age);
system("pause");
}