[C++学习历程]基础部分 C++中的函数中的值参数、地址参数、引用参数实际例子
本文地址:http://blog.csdn.net/sushengmiyan/article/details/20406269
作者:sushengmiyan
// sushengmiyanTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream>
using namespace std; //静态函数练习
void f(int a)
{
while(a--)
{
// n只初始化一次,循环执行一次n会发生变化
static int n = 0;
//x是局部变量,每次函数调用都初始化为0;
int x = 0;
cout<<"n=="<<n++<<" ,x=="<<x++<<"\n";
//如果a = 3 则输出结果应该为
//n==0,x==0
//n==1,x==0
//n==2,x==0
}
} //引用参数例子
void fuc(int m, int& n)
{
//m是值参数,在函数内部操作的是个副本,不会更改调用的数值
m++;
cout<<"m在函数内部被改变了 m="<<m<<"\n";
//n是引用参数,操作的是地址,外部调用的地方也会发生变化
n++;
cout<<"n在函数里也被改变了 n="<<n<<"\n";
} //地址参数
void swap(int *m, int *n)
{
//m和n传入的都是地址
int p = *n;
*n = *m;
*m = p;
//函数实现了参数数值交换
} //地址参数
void swapA(int *m, int n)
{
//m是传入的地址
int i = *m;
*m = n;
n = i;
//外部来说,m会发生变化,n不会变化
} int _tmain(int argc, _TCHAR* argv[])
{
int a = 6;
int b = 3;
cout<<"静态函数练习:\n";
f(3);
cout<<"值参数练习:\n";
cout<<"传入的数值分别是:a = "<<a<<" b="<<b<<"\n";
fuc(a,b);
cout<<"执行函数fuc(int m, int& n)之后:\n";
cout<<"a = "<<a<<"b= "<<b<<"\n"; cout<<"交换之前 a, b 的数值:\n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n";
swap(&a, &b);
cout<<"经过函数swap(&a, &b)之后 \n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n"; cout<<"交换之前 a, b 的数值:\n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n";
swapA(&a, b);
cout<<"经过函数swapA(&a, b)之后 \n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n"; a = a + b;
cout<<"交换之前 a, b 的数值:\n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n";
fuc(a, b);
cout<<"经过函数fuc(int m, int& n)之后 \n";
cout<<"a=="<<a<<" ,b=="<<b<<"\n";
system("pause");
return 0;
}
[C++学习历程]基础部分 C++中的函数中的值参数、地址参数、引用参数实际例子的更多相关文章
- 软件测试中LoadRunner函数中的几个陷阱
软件测试 中 LoadRunner 函数中的几个陷阱 1.atof 在 loadrunner 中如果直接用 float f; f=atof("123.00"); lr _outpu ...
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...
- [C++学习历程]基础部分 C++中的函数学习
本文地址:http://blog.csdn.net/sushengmiyan/article/details/20305815 作者:sushengmiyan 一.静态变量: 局部变量是线程到达定义的 ...
- linux中probe函数中传递的参数来源(上)
点击打开链接 上一篇中,我们追踪了probe函数在何时调用,知道了满足什么条件会调用probe函数,但probe函数中传递的参数我们并不知道在何时定义,到底是谁定义的,反正不是我们在驱动中定义的(当然 ...
- js中在一个函数中引用另一个函数中的函数,可以这么做
在另一个函数中,将需要使用的函数绑定在window下 // UEditor $(function () { window.ue = UE.getEditor('editor', { // ue即可成为 ...
- Unix系统中system函数的返回值
网上关于system函数的返回值说明很多很详细但却不直观,这里搬出apue 3rd Editon中实现system函数的代码来说明其返回值. #include <sys/wait.h> # ...
- 『Python基础』第39节 函数的返回值
1. 函数的返回值 一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的. 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧? 还有咱们之前也用过 len() 这个函数, ...
- python中给函数传参是传值还是传引用
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
- C++中main函数的返回值一定要是int
因为大学上课时候,经常是在主函数中做处理,直接用cout语句输出到显示设备,所以一直在用void main(). 直到后面具体编程的时候,才发现void main()这种用法是按 C89(C语言的早期 ...
- [C++学习历程]基础部分 C++中的指针数组和结构
作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/19938177 一.指针 对学习C++来说,指针是一项重要内容,以前,教 ...
随机推荐
- 使用linux部署tomcat项目
1.下载对应的Tomcat服务器包 Apache Tomcat官网下载: http://tomcat.apache.org/download-70.cgi 比如我们使用的是 apache-tomca ...
- Hibernate更新数据(不用update也可以)
在介绍hibernate的更新之前,我们先来看看session的两个方法.load和get方法:这两个方法是获取数据的根据对象的id值: 先看两段代码.load和get的方法都含有两个参数,前者是得到 ...
- Ubuntu安装与配置KVM
事前检查 查看一下linux是32位还是64位 file /bin/ls 确认一下 CPU支持硬件虚拟化(不支持也没关系,可以继续) egrep -o '(vmx|svm)' /proc/cpuinf ...
- weblogic静默方式创建域
创建域目录:mkdir -p /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/ 创建文件: create_doma ...
- 基于Java配置Spring加Hibernate和再加SpringData时的差别
先在类路径application.properties jdbc.driverClassName = org.postgresql.Driver jdbc.url = jdbc:postgresql: ...
- Android超精准计步器开发-Dylan计步
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/52868803 本文出自[DylanAndroid的博客] Android超精准 ...
- Python 性能剖分工具
Python 性能剖分工具 眼看着项目即将完成,却被测试人员告知没有通过性能测试,这种情况在开发中屡见不鲜.接下来的工作就是加班加点地找出性能瓶颈,然后进行优化,再进行性能测试,如此这般周而复始直到通 ...
- IOS开发初体验
IOS开发初体验 搭建开发环境 不多说什么了,开发环境的搭建太简单了,上App Store搜索XCode下载就行了,说多了都是眼泪 创建第一个IOS项目--HolleIOS 创建工程 选择工程创建位置 ...
- Eric5 for Python 3.3.3安装指南
一言蔽之,搭配是关键.以32位Window为例,先后安装: 1.PyQt PyQt4-4.10.3-gpl-Py3.3-Qt4.8.5-x32.exe http://www.riverbankcomp ...
- 用Python最原始的函数模拟eval函数的浮点数运算功能
前几天看一个网友提问,如何计算'1+1'这种字符串的值,不能用eval函数. 我仿佛记得以前新手时,对这个问题完全不知道如何下手. 我觉得处理括号实在是太复杂了,多层嵌套括号怎么解析呢?一些多余的括号 ...