admin 管理员组

文章数量: 887007

思考与拓展

传值调用?传引用?指针有啥用?内存四区是啥?_恋雨凉忆的博客-CSDN博客

看完忆宝的后,一下是我的一些感悟和拓展。

感悟

  在课堂的时候,当时刚接触(应该是)堆和栈,没怎么了解这个小点, 今天看了忆宝的分享,收获了不少。所以说我们平常课堂所接触的知识可能是很片面的,需要我们课下靠着自己的好奇心去持续探索。

废话少说,现在我来就 +1提供另一种方法

 ‘ & ’符号

                  在定义函数的时候在参数部分使用 & 

#include<stdio.h>
void Increment(int &p)
{p = p + 1;
}
int main()
{int a = 0;Increment(a);printf("The value of a is %d", a);return 0;
}

详讲引用符号

引用的概念:一个变量或者对象的别名。比如忆宝,它还有个名字叫恋雨凉忆,这时候我们叫忆宝或者是恋雨凉忆,都知道其实是一个人。

所以当我们使用&去对一个变量声明的时候, 就是对他取外号,在上述的Increment函数中,我们对放进来的变量a 取了个别名叫 p,所以在Increment函数中对p执行 p +1 操作,实际上就是在对a加一。

使用引用注意点:

  • 引用是C++的概念,所以文件的后缀名是 .cpp
  • 一旦引用已经声明就不能再指向其他对象 (案例如下)
    #include <stdio.h>
    int main()
    {int a = 10;int b = 20;int &ra = a; //给a取了一个绰号叫rara = b;  //这样写就错力,ra是a的绰号,不可以随便给b
    }

    由上面一个点我们可以知道,声明引用时要初始化,告诉它这是谁的绰号。

本文标签: 思考与拓展