C语言参数传递
2016-04-07 20:12
281 查看
// Paramter_1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <stdlib.h> #include <iostream> using namespace std; void swap_value(int i,int j){//传值调用 int temp; temp=i;i=j;j=temp; } void swap_pointer(int *p,int *q){//传址调用 int temp; temp=*p;*p=*q;*q=temp; } void swap_quote(int &x,int &y){///传引用调用 int temp; temp=x;x=y;y=temp; } int _tmain(int argc, _TCHAR* argv[]) { int a[5]={0,1,2,3,4}; //swap_value(a[0],a[1]); //for(int i=0;i<5;i++){ // cout<<a[i]<<" "; //} //0 1 2 3 4 请按任意键继续. . . //swap_pointer(a[0],a[1]);//错误,int类型的实参与int*类型的形参不兼容 //swap_pointer(&a[0],&a[1]);////注意:这里一定要是&a[0],表示把a[0]的地址传给了*p,表示*p=&a[0], //for(int i=0;i<5;i++){ // cout<<a[i]<<" "; //}///1 0 2 3 4 请按任意键继续. . . swap_quote(a[0],a[1]); for(int i=0;i<5;i++){ cout<<a[i]<<" "; }///1 0 2 3 4 请按任意键继续. . . system("pause"); return 0; }
引用理解起来很简单:
引用(Reference)是C++相对于C语言的又一个扩充。引用类似于指针,只是在声明的时候用 & 取代了 *。引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。引用的声明方法如下:
类型标识符 &引用名 = 被引用对象
[例1]C++引用示例:
int a = 10;
int &b = a;
cout<<a<<" "<<b<<endl;
cout<<&a<<" "<<&b<<endl;
在本例中,变量 b 就是变量 a 的引用,程序运行结果如下:
10 10
0018FDB4 0018FDB4
从运行结果可以看出,变量 a 和变量 b 都是指向同一地址的,也即变量 b 是变量 a 的另一个名字,也可以理解为 0018FDB4 空间拥有两个名字:a和b。由于引用和原始变量都是指向同一地址的,因此通过引用也可以修改原始变量中所存储的变量值。
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法