zoukankan      html  css  js  c++  java
  • 函数的值传递与指针

    1.形参只是实参的拷贝本(形参的改变并不能影响实参)

      

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 void Swap(int a, int b){
     6     int c = a;
     7     a = b;
     8     b = c;
     9 }
    10 
    11 int main(){
    12     int a, b;
    13     a = 4;
    14     b = 10;
    15     cout << a << " " << b << endl;
    16     Swap(a, b);
    17     cout << a << " " << b << endl;
    18     system("pause");
    19     return 0;
    20 }

    2.指针传递

      指针传递,是把实参所在的地址传递出去,所以那时函数可以直接对实参进行改变

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 void Swap(int *a, int *b){
     6     int c = *a;
     7     *a = *b;
     8     *b = c;
     9 }
    10 
    11 int main(){
    12     int a, b;
    13     a = 4;
    14     b = 10;
    15     cout << a << " " << b << endl;
    16     Swap(&a, &b);
    17     cout << a << " " << b << endl;
    18     system("pause");
    19     return 0;
    20 }

    3.引用

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 void Swap(int &a, int &b){
     6     int c = a;
     7     a = b;
     8     b = c;
     9 }
    10 
    11 int main(){
    12     int a, b;
    13     a = 4;
    14     b = 10;
    15     cout << a << " " << b << endl;
    16     Swap(a, b);
    17     cout << a << " " << b << endl;
    18     system("pause");
    19     return 0;
    20 }

      (&在此时不是求地址运算,而是标识作用)

    (1)引用不是值,所以她并不占用内存;

    (2)引用其实就是变量另外的一个名字 皮皮虾 小屁屁

    (3)引用声明方式:

        类型标识符 &引用名=目标变量名

      3.1 类型标识符是指目标变量的类型
      3.2 &在此不是求地址运算,而是标识作用
      3.3 '='后的目标变量名是引用的目标,声明引用时,必须同时对他初始化,否则产生编译错误
    (4) 不能建立数组引用,因为数组是一个由若干个单元组成,所以无法建立数组的引用

    (5)声明一个引用后,就可以像变量一样可以使用了 ,其值与变量的值同步

      引用的用处 : 作为函数的参数和函数的返回值

    (6)引用作为函数参数

      形参就是实参的一个别名!

    (7) 引用作为函数的返回值
      7.1 以引用作为返回值,定义函数的时候在函数名前面加&符号
      7.2 用引用返回函数值得 最大好处(就是在内存中不产生被返回值的副本)
      7.3被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量

    --------------------------------------------------------------------------------------------------------------------------

    4.指针与引用的区别

    指针就是一个变量,和其他类型一样,它是一个占用四个字节的变量(32位机), 与其他变量不同的是就是他变量值是一个地址,指向内存的另外一个地方

    而引用则是变量的一个别名

    一个指针变量可以指向空,表示他不指向任何变量的地址,但是引用必须在声明的时候就得和一个已经存在的变量相绑定.

  • 相关阅读:
    JS高级程序设计 第三章笔记
    JS高级程序设计第二章
    JS高级程序设计 第一章读书笔记
    markdown 尝试
    实验九
    第六章总结
    实验五
    第五章总结
    实验四
    实验三
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/7652818.html
Copyright © 2011-2022 走看看