首页 > 编程 > C++ > 正文

【C++基础概念】有关指针、引用的几个问题

2019-11-10 17:50:42
字体:
来源:转载
供稿:网友
1、栈和堆的区别:栈:系统删除,占内存堆:手动删除,灵活,易出错######################################################################2、"&"符号的2个意思:代表取地址【&在等号右边】:int a =1;int b = &a; //取地址count<<"b="<<b<<endl;//b=0x22ff44;一个地址代表引用【&在等号左边】:int a =1;int &b= a;count<<"b="<<b<<endl;//b=1;输出b就是输出a,如果b=5;则输出a也等于5######################################################################3、C++指针和引用的区别:指针:*p;值是一个地址;是一个地址;eg:int a =1;int *b = a;count<<b<<endl;//b=0x22ff44;一个地址引用:&b;值是一个变量的值;是一个别名;eg:int a =1;int c =3;int &b = a; //b就是ab =c ; //改变b的值,就是改变a的值count <<a<<endl;// a=3;跟b一样######################################################################4、C++函数传参/返回值的三种方式:值传递、引用传递【&b】、指针传递【*p】值传递:void f1(int x) {//int x = n; 即int x =1;x = 10; //x =10;改的是x的值}int n = 1;f1(n);count << "n="<<n<<endl//n=1;引用传递:void f1(int &x){//int &x = n=1;x = 10; //x = 10;x就是n,想改n的值,改x就行}int n = 1;f1(n);count<<"n="<<n<<endl;//n=10指针传递:void f1(int *x){//int *x = &n;此处的&n是指取n的地址x = 10;}int n = 1;f(&n);count<<"n="<<n<<endl;//n=10######################################################################
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选