开发者社区> 文艺小青年> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

指针和引用

简介:
+关注继续查看

1.从内存上来讲  系统为指针分寸内存空间,而引用与绑定的对象共享内存空间,系统不为引用变量分配内容空间。

2指针初始化以后可以改变指向的对象,而引用定义的时候必须要初始化,且初始化以后不允许再重新绑定对象。

3.所以引用访问对象是直接访问。指针访问对象是间接访问。

4。如果pa是指针,那么*pa就是引用了。

但是两者在作为形参的时候非常相似,区别是指针拷贝副本,引用不拷贝。程序如下:

#include<stdio.h>

void pt(int * pta,int * ptb)//指针只是拷贝,实参不会发生改变

{

int *ptc;

ptc=pta;pta=ptb;ptb=ptc;

}

void ref(int &ra,int &rb)//引用不会拷贝,而是直接访问

{

int rc;

rc=ra;ra=rb;rb=rc;

}

void main()

{

int a=3;int b=4;

int *pa=&a;int *pb=&b;

pt(pa,pb);

printf("zhizhen: a=%d,b=%d\n",a,b);

ref(a,b);

printf("yinyong: a=%d,b=%d\n",a,b);

}

输出结果如下图:

 

此外,常量引用:

const引用是指向const对象的引用:


const int ival = 1024;
const int &refVal = ival; // ok: both reference and object are const
常量引用的值是不允许改变的
int &ref2 = ival; // error: nonconst reference to a const object


本文转自cococo点点博客园博客,原文链接:http://www.cnblogs.com/coder2012/archive/2012/10/29/2745420.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
指针和引用(4)指向指针的指针
1.知识点 (1)在程序中可以声明指向任何数据类型的指针,指针也可以指向指针类型,成为指向指针的指针。下面是一个使用例子 1 int a=10,b=20; 2 int *q=&a; 3 int **p=&q; 4 **p=30; (2)如果想通过指针在被调函数中修改主调函数的变量,必须将主调函变量(务必确定该变量的类型,有时候可能变量本身就是指针,这时候形参就需要是指针的指针了)的地址作为参数,在被调函数中修改主调函数指向的内容。
1056 0
指针和引用(5)函数指针
1.知识点 (1)指针可以指向任何类型,也可以指向函数。每个函数在内存中都占用一段存储单元,这段存储单元的首地址称为函数的入口地址,指向之歌函数入口地址的指针称为函数指针。 (2)函数基本用法如下: 1 int max(int a, int b) { 2 return a > b ? a ...
886 0
C++指针与引用的区别
 指针与引用是C++中两个很重要的概念,它们功能看过去很相似,就是都是间接引用某个对象,那么我们应该在什么时候使用指针,什么时候使用引用呢,下面请允许我慢慢道来: 1.永远不要使用一个指向空值的引用。
694 0
nim的引用和指针
nim语言的引用和其他语言的指针有点相似 可以提供一种“多对一”的关系 这就意味着不同的引用可以指向同一个内存位置   nim区分可被追踪的引用和不可被追踪的引用 不可被追踪的引用又称为指针 可被追踪的引用可以被垃圾回收器回收 不可被追踪的引用指向手动分配的对象,或其他地方创建出来...
879 0
详解c++指针的指针和指针的引用
展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它。(这里说的指针的指针不是一个二维数组) 为什么需要使用它们 当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。
709 0
C++中引用和指针的区别
1. 引用其实就是一个别名,它用于定义一个变量共享另一个变量的内存空间,变量是内存空间的名字,如果给内存空间起另外一个名字,就能够共享这个内存。
805 0
3576
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载