指针变量的引用(引用一个指针变量是否需要加*加*与不加*的指针的区别是什么)
本文目录
- 引用一个指针变量是否需要加*加*与不加*的指针的区别是什么
- int *(&p) 怎么理解啊
- 编程题:指针变量,直接引用和间接引用的区别
- C语言指针类型的变量可以加引用吗
- 关于指针变量的引用,下列说法中错误的是( )
引用一个指针变量是否需要加*加*与不加*的指针的区别是什么
不加*就是引用,指针是对其指向地址内容的引用。
加*是对指针解引用,也就是取得这个指针变量所指向地址处的值。
比如,
int a = 2;int *pa = &a; // 此时pa指向变量a的地址
如果直接用pa那么等同于 &a, 就是a的地址,用*pa相当于a,是变量a的值。
int *(&p) 怎么理解啊
int *(&p)是指针变量的引用。 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。 引用就是给变量起个别名 ,这种变量必须初始化 。 如int *a = &b int *(&p) = a; p不占用内存,它只是a的别名,就像一个人两个名字而已。 所以p指针所指向的内容与a指针所指向的内容相同,即*a == *p; p在内存中存放的地址与a在内存中存放的地址相同,即 &p == &a。
编程题:指针变量,直接引用和间接引用的区别
引用相比于于指针各有优点:一、引用变量它不能改变自身所引用的地址空间,而指针变量可以,那么就很可能出现一些因为不小心的修改而导致错误的结果。二、在作为函数参数方面,引用作为参数,你调用的时候不需要对变量取地址值,这样看起来比较直观,而且方便,如果是指针变量作为参数,那么你有时候会不明白这个函数到底是对指针进行运算,还是对指针指向的变量空间进行运算,而且还要取地址操作。三、不过有时候指针还是比引用好用的多,不如你需要快捷修改指向位置,那么指针是很快的,有时候你就是要对地址(就是直接对内存)操作,那么指针是首选啦。 下面是一个例子希望对你有用: //PointAndRef.cpp#include《iostream.h》 //cout《《 void pointFun(int *a,int *b) //指针作为参数{int temp;temp=*a;*a = *b;*b=temp;}void refFun(int &a,int &b) //引用作为参数{int temp;temp=a;a=b;b=temp;}void main() {int a,b;a=1,b=2;pointFun(&a,&b); //指针调用需要取地址值。cout《《"a="《《a《《"b="《《b《《endl;int c,d;c=3,d=4;refFun(c,d); //引用调用和正常变量调用一样。cout《《"c="《《c《《"d="《《d《《endl;}
C语言指针类型的变量可以加引用吗
形参为指针式,将其指向的地址也带入了函数。因此可以对起指向类容进行修改!用不用引用都是一样的效果!但是最好不要。。
关于指针变量的引用,下列说法中错误的是( )
D.指针变量的前面不可以出现取地址运算符“&” 指针变量也是变量,当然可以有自己的地址,也可以用&来获取变量地址。
更多文章:
google com(关于国内用户如何访问Google.com)
2024年7月24日 15:34
access数据库破解版(access2013破解版 下载)
2024年10月5日 09:35
安卓市场app2020最新版本(安卓手机自带下载软件的app叫什么)
2024年9月6日 14:25