数组:
(1).一维数组初始化
int arr[5]={1,2,3,4,5};
若初始化数据个数超过存储区个数,则多余的数据被丢掉
若初始化数据个数少于存储区个数,则后面的存储区自动被初始化为0
若初始化数据个数和存储区个数一样,则可以省略数组声明里的存储区个数
(2).二维数组初始化
int arr[2][3]={{1,2,3},{4,5,6}};
函数:
函数调用过程中通常伴随着函数间的数据传递
数据传递存在两个相反的方向,既可以从调用函数传递给被调用函数,也可以从被调用函数传递给调用函数.
无论从哪个方向的数据传递,都需要使用被调用函数提供的存储区来记录数字
main()函数里面的叫做调用函数,main()函数外面的叫做被调用函数.
数组和函数的关系
数组可以作为函数的形式参数
数组作为形式参数的时候,形参和实参都是同一个存储区
生命周期:一个存储区只能在某个时间范围内可以使用,这个时间范围叫做存储区的生命周期
对存储区的使用不受作用域的限制,而只受生命周期的限制
作用域:能使用某个变量的所有语句叫做变量的作用域
变量:
变量分为全局变量、局部变量、静态全局变量、静态局部变量
http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html
全局变量和局部变量的关系:
1. 全局变量会占用更多的内存,因为其生命周期长
(全局变量,其生命周期是整个程序执行的时间范围
局部变量,其生命周期是函数某一次执行的时间范围)
2. 使用全局变量程序运行速度会更快,因为内存不需要再分配
3. 局部变量的作用域是函数内部的所有语句,全局变量的作用域是包含程序中的所有语句
4. 没有初始化的全局变量初始化为0
5. 全局变量和局部变量可以重名,这个时候优先选择局部变量
全局变量与静态全局变量的关系:
全局变量:在整个工程文件内都有效
静态全局变量: 只在定义它的文件内有效
作用域:定义点到程序结束,程序运行结束后才释放所占用的内存.
即使两个不同的源文件都定义了相同名字的静态全局变量,它们也是不同的变量
局部变量与静态局部变量:
局部变量:在定义它的函数内有效,但是函数返回后失效
静态局部变量:只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,
该变量不会消失, 可以跨函数使用静态局部变量的存储区
exit标准函数:
exit标准函数可以立刻结束程序的执行
需要包含stdlib.h头文件
这个函数需要一个整数类型的实际参数,它用来告诉计算机程序的结束情况,0表示程序正常结束
递归函数:
1.编写语句描述问题的分解方式(假设递归函数已经完成)
2.在函数开头编写分支处理不可分解的情况(这个函数必须能让函数结束)