//指针的引用
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
struct teacher
{
char name[64];
int age;
};
//在被调用函数里面 获取资源 ,C语言的二级指针。
int getteacher(teacher **p)
{
teacher *tmp=NULL;
if(p==NULL)
{
return -1;
}
tmp=(teacher *)malloc(sizeof(teacher));
if(tmp==NULL)
{
return -1;
}
tmp->age =33;
//p是实参的地址, *实参的地址 去间接的修改实参的值。
*p=tmp;
}
//C++中的指针的引用做函数参数。
int getteacher2(teacher *&myp)
{
//给myp赋值相当于给main函数中的pt1赋值
myp=(teacher *)malloc(sizeof(teacher));
if(myp==NULL)
{
return -1;
}
myp->age =36;
}
void freeteacher(teacher *pt1)
{
if(pt1==NULL)
{
free(pt1);//把指针所指向的内存空间释放掉
}
}
int main()
{
teacher *pt1=NULL;
//C语言中的二级指针。
getteacher(&pt1);
cout<<pt1->age<<endl;
void freeteacher();
//C++中的引用(指针引用)
//引用的本质是 间接赋值 后两个条件 让C++编译器帮我们程序员做了
getteacher2(pt1);
cout<<pt1->age <<endl;
void freeteacher();
cout<<"hello"<<endl;
return 0;
}
指针的引用
最新推荐文章于 2025-03-31 16:27:07 发布