第六章 函数
来源:互联网 发布:网线质量测试软件 编辑:程序博客网 时间:2024/05/29 12:48
函数的声明
调用一个函数前必须先声明函数的返回值类型和参数类型
如果被调函数的定义在主调函数之前,可以不必加声明。
#include <iostream> using namespace std; void ShowMessage(); //函数声明语句 void ShowAge(); //函数声明语句 void ShowIndex(); //函数声明语句 void main() { ShowMessage(); //函数调用语句 ShowAge(); //函数调用语句 ShowIndex(); //函数调用语句 } void ShowMessage() { cout << "HelloWorld!" << endl; } void ShowAge() { int iAge=23; cout << "age is :" << iAge << endl; } void ShowIndex() { int iIndex=10; cout << "Index is :" << iIndex << endl; }
函数调用
传值调用
以下程序并不能交换x y的值,因为调用swap函数时复制了变量x和y的值,而不是变量本身
#include<iostream> using namespace std; void swap(int a,int b) { int tmp; tmp=a; a=b; b=tmp; } void main() { int x,y; cout << "输入两个数" << endl; cin >> x; cin >> y; if(x<y) swap(x,y); cout << "x=" << x <<endl; cout << "y=" << y <<endl;}
嵌套调用
在自定义函数中调用其他自定义函数,这种调用称为嵌套调用
在嵌套调用时要注意,不要在函数体内定义函数
递归调用
在一个函数中直接或间接地调用函数本身
重载函数
内联函数
变量作用于域
局部变量
在函数体内定义的变量
在函数调用时创建,在函数调用结束后销毁并释放
全局变量
在函数体外定义的变量
在程序开始时创建并分配空间,在程序结束时释放内存并销毁
变量的存储类别
存储类型:
自动变量:auto
寄存器变量:register
外部变量:extern
静态变量:static
auto变量
static变量
register变量
extern变量
默认参数的函数
void print(int value, int base=10); 调用print(20) 等价于 print(20, 10)
对参数默认值的指定只有在函数声明处有意义
在不同的源文件中,可以对函数的参数指定不同的默认值
在函数调用时,若某个参数省略,则其后的参数皆应省略而取其缺省值
可变参数
void OutputInfo(int num,...)
参数列表中有一个省略号“”…“”
使用可变参数需要引用STDARGH头文件,以及va_start,va_arg,va_end这三个宏
0 0
- 第六章 –函数
- 第六章 函数
- 第六章 函数
- 第六章函数
- 第六章 函数
- 第六章-函数
- 第六章 函数
- 第六章 函数
- 第六章 函数
- 第六章—函数
- 第六章分组函数
- 第六章 认识函数
- 第六章函数
- 第六章 函数
- 第六章 函数
- 第六章: 自定义函数
- 【第六章】 函数
- partone---第六章 函数
- c语言,%d %.2d %2d %02d的区别
- 编译在VMware中运行的OpenWrt固件版本
- SQL高级语法-FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
- C++ 返回数组的引用
- web移动端Fixed在Input获取焦点时ios下产生的BUG及处理
- 第六章 函数
- 房间声学原理与Schroeder混响算法实现
- OKHttp
- 【WebApp】使用jquerymobile制作的HTML5 Web App
- 统一管理JavaScript脚本和CSS样式表引用
- "username" is not in the sudoers file. This incident will be reported
- 算法设计与分析(1)-- Add Two Numbers(难度:Medium)
- Java常考面试题
- angularjs 文本处理