指针与引用

来源:互联网 发布:公司样本制作软件 编辑:程序博客网 时间:2024/05/22 05:18

    什么是指针:  指针是指向某数据类型的地址类型,占用4个字节, 定义一个指针时应指出该指针是什么数据类型。 如定义一个整形指针: int * p;     可见定义指针变量是在变量前加一个指针标示符* 。  指针类型也可以为void, 即为无类型,当指针类型不确定时使用。该类指针可转换为其它任何类型指针,无需强制转换。指针的就应,通过在指针p前加* 可提取指针指向的变量的值。 如cout<<*p; 输出p指向的变量的值。

    指针的作用: 

           1.  当有较多同类型变量时,使用指针变量,使程序简单明了,可读性好。

           2.  作为函数形参, 当参数值占内存较大时,可使用指针或引用,不必将参数压栈。(函数参数三种传递方式: 值传递,指针传递,引用传递)

           3.  链表,链式结构中需要指针寻址连接各数据元素。

           4.  申请内存块时,存放内存首地址。        

    什么是引用:  引用是某一变量的别名,操作引用跟操作变量完全一样。定义一个引用必须初始化,标示符为&。 如定义一个整形引用:

    int a=0;

    int & b=a;     

    引用的作用

            1.  作为函数形参, 不产生参数的副本。传递效率高,常与const 一起,保证参数的安全性。

            2.  使用引用就像使用原变量一样,可读性好。

            3.  使用引用作为返回值,不产生返回值的副本。

            4.  由于引用不能再次赋值,不会引起像指针使用不当带来的地址错误。

    指针与引用的区别:

            1. 指针可以不被初始化, 引用本身在定义时初始化。

            2. 引用的可读性比指针好。

            3. 指针可以被改变,指向不同的对象,灵活性强,处理功能强大, 引用不能被改变,安全性高。

          

          

 

        

 

    

原创粉丝点击