C变量的直接引用与间接引用区别

引用相比于于指针各有优点:一、引用变量它不能改变自身所引用的地址空间,而指针变量可以,那么就很可能出现一些因为不小心的修改而导致错误的结果。二、在作为函数参数方面,引用作为参数,你调用的时候不需要对变量取地址值,这样看起来比较直观,而且方便,如果是指针变量作为参数,那么你有时候会不明白这个函数到底是对指针进行运算,还是对指针指向的变量空间进行运算,而且还要取地址操作。三、不过有时候指针还是比引用好用的多,不如你需要快捷修改指向位置,那么指针是很快的,有时候你就是要对地址(就是直接对内存)操作,那么指针是首选啦。 下面是一个例子希望对你有用: //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;
}
时间: 2024-10-13 12:58:19

C变量的直接引用与间接引用区别的相关文章

编程题:指针变量,直接引用和间接引用的区别。

#include<stdio.h> void main() { int a,b; int *p;   /*定义指针变量p*/ p=&b;     /*将变量b的地址放在变量p中*/ a=3;      /*直接引用变量a*/ *p=5;     /* 间接引用变量b*/ printf("a=%d,b=%d\n",a,b); } 编程题:指针变量,直接引用和间接引用的区别.,布布扣,bubuko.com

shell中变量的间接引用

在编写shell脚本的过程中相信大家都会遇到这样的场景: #!/bin/sh # log_1="xxxxxx" log_2="yyyyyy" log_3="zzzzzz" for num in {1..3} do     log=log_$num     #此时你想把log_1,log_2,log_3,这三个变量的变量值依次的for循环中引用,但是如果你直接echo     #出的变量,则只会输出你想引用的变量的变量名,而不是该变量的变量值,这里

Bash中${}的用法和变量的间接引用

在bash中${}用于设置变量默认值和字符串取值切片以及变量的间接引用,详细用法如下图,在Centos6下字符串取子${STR:POSITON:LENGTH},LENGTH为负数会报错. 1.${VAR},取出变量VAR值 [[email protected] ~]# a=hjks [[email protected] ~]# echo ${a} hjks 2.${VAR:-DEFAULT},VAR没有定义或者为空则输出$DEFAULT的值(VAR不变) [[email protected] ~

C++函数返回引用、非引用以及临时变量的问题

C++中新增了引用类型,所以函数的返回值可以是引用类型.那么就会有人想问 返回引用类型与返回非引用类型有区别吗? 结论是显然的,而且有明显的区别.尤其初学者会很容易绕进去.让我们先看四个函数原型.以int类型来举例 (1) int fun(...) { return ....//后面跟的是一个引用 } 例如:int fun(int &a) { return a; } (2)int fun(...) { return....//后面跟的是一个非引用 } 例如:int  fun(int a) { r

编程题:指针变量,实参与形参的引用。已知一个一维数组,求其中前n个数的和。n由键盘输入。

#include<stdio.h> int sum(int *q,int n) { int i,s=0; for(i=0;i<n;i++,q++) s+=*q; return s; } void main() { int num,a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=a; scanf("%d",&num); printf("%d\n",sum(p,num)); } 编程题:指针变量,实参与形参的引用.已知

php中引用&amp;的真正理解-变量引用、函数引用、对象引用

php的引用(就是在变量或者函数.对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 变量的引用        PHP 的引用允许你用两个变量来指向同一个内容 <?php $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变

php引用(&amp;)变量引用,函数引用,对象引用和参数引用用法

php的引用(就是在变量或者函数.对象等前面加上&符号) 在PHP 中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 <?$a="ABC";$b =&$a;echo $a;//这里输出:ABCecho $b;//这里输出:ABC$b="EFG";echo $a;//这里$a的值变为EFG 所以输出EFGec

创建了对嵌入的互操作程序集间接引用,无法嵌入互操作类型

警告 1 由于存在对由程序集“c:\Program Files\Reference Assemblies\Microsoft\VSTO40\v4.0.Framework\Microsoft.Office.Tools.Excel.dll”创建的程序集的间接引用, 因此创建了对嵌入的互操作程序集“c:\Program Files\Reference Assemblies\Microsoft\VSTO40\v4.0.Framework\Microsoft.Office.Tools.Common.dll

递归--一种直接或者间接引用自身的定义方法

引言:“盗梦空间”的电影.梦中梦,梦中梦,然后有时候循环. 我们在程序设计当中常常会遇到重复性的计算,我们最常用的方法是组织迭代循环,而我们除此之外还可以采用递归计算的方法. 递归的定义:递归是一种直接或者间接引用自身的定义方法.一个合法的递归一般包含俩个部分:基础部分和递归部分. 一些平时我们遇到的经典算法. 1.欧几里得递归,迭代算法 2.斐波那契数列 3.连续整数检测算法 4.逆序输出正整数的各位数 5.汉诺塔问题 6.排列产生算法 1.欧几里得递归,迭代算法 1 package com.