[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下磁盘分区详解 图文(fdisk;mkfs)
linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a-d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a-z)),硬盘主分区最多为4个,不 ...
- 关于惠普hp服务器开机时F10菜单变成F10 Function Disabled的解决方法
今天笔者由于在Intelligent Provisioning智能配置里不小心将"启动Intelligent Provisioning"选项钩选成禁用了,如下 结果就造成,在之后服 ...
- Tomcat访问路径去掉发布项目的项目名称
需求: 把发布到Tomcat下的web项目,访问路径去掉项目名称 实现方式及原理: 方式一: 原理:Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我 ...
- c# 虚拟路径转化为物理路径
string strPhycicsPath= Server.MapPath(path);
- C#利用Attribute实现简易AOP介绍
首先看一段简单的代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } //来自UI层的调用 ...
- python学习之路基础篇(第八篇)
一.作业(对象的封装) 要点分析 1.封装,对象中嵌套对象 2.pickle,load,切记,一定要先导入相关的类二.上节内容回顾和补充 面向对象基本知识: 1.类和对象的关系 2.三大特性: 封装 ...
- python的IDE(pycharm)安装以及简单配置
使用IDE的好处 界面更友好,看起来更舒服 智能提示功能很赞,大大提高开发效率 pycharm的安装过程 去pycharm官网下载安装包,请下载专业版,建议不要去网上下载汉化版 点击安装包一直下一步即 ...
- 转:window与linux互相拷贝文件
window与linux互相拷贝文件 借助 PSCP 命令可以实现文件的互拷: 1.下载pscp.exe 文件 (我的资源文件中有) 2.如果想在所有目录可以执行,请更改环境变量. w ...
- ACM Meteor Shower
贝茜听到一场非同寻常的流星雨( meteor shower)即将来临;有报道称这些流星将撞击地球并摧毁它们所击中的任何东西.为了安全起见(Anxious for her safety), ,她发誓(v ...
- 2.docker常用命令
一.安装相关 #查看docker是否安装 rpm -q docker #CentOS下安装docker sudo yum install docker #启动 Docker systemctl s ...