C++之指针的引用与指针的指针讲解-创新互联
1.概念定义
当前名称:C++之指针的引用与指针的指针讲解-创新互联
文章来源:http://myzitong.com/article/pcjhd.html
<1>.指针:指针是一个变量,用来存放地址的变量。
创新互联-专业网站定制、快速模板网站建设、高性价比凤冈网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式凤冈网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖凤冈地区。费用合理售后完善,10余年实体公司更值得信赖。int *p;
*p = 6;
printf("*p = %d\n",*p);
<2>.引用:给一个变量起一个别名。
int a = 5;
int &b = a;
printf("b = %d\n",b);
<3>.指针的引用:其实就是给指针取了个别名而已。
int *p;
*p = 12;
int* &tt = p;
printf("tt = %d\n",*tt);
<4>.指针的指针:指向一级指针变量 的地址。
int *p;
*p = 12;
int **mm = &p;
printf("mm = %d\n",**mm);
2.程序示例#include#includeusing namespace std;
struct Stu{
char name[64];
int age;
};
void test_01(Stu** p){
//Stu* tmp = (Stu*)malloc(sizeof(Stu));
Stu* tmp = new Stu;
tmp->age = 34;
memcpy(tmp->name,"Test_01", strlen("Test_01"));
*p = tmp;// p为二级指针,*p为一级指针
}
//指针的引用,作为函数参数
void test_02(Stu* &p){
//p = (Stu*)malloc(sizeof(Stu));
p = new Stu;
p->age = 56;
memcpy(p->name,"Test_02", strlen("Test_02"));
}
int main(){
Stu* stu = NULL;
test_01(&stu);// 二级指针,一级指针的地址值
printf("xxx------line = %d, age = %d, name = %s\n",__LINE__,stu->age,stu->name);
free(stu);
test_02(stu);
printf("xxx------line = %d, age = %d, name = %s\n",__LINE__,stu->age,stu->name);
free(stu);
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前名称:C++之指针的引用与指针的指针讲解-创新互联
文章来源:http://myzitong.com/article/pcjhd.html