C语言函数的变量的作用域、生命周期
作用域:变量能被引用到的区间
局部变量:在函数内定义的变量
作用域:在函数内
全局变量:在函数名定义的变量
作用域:在整个文件内
注:1、在同一作用域下,不能同名定义
2、引用变量时,局部优先
生命周期:变量空间被分配开始,到空间被分配结束。
动态变量:动态的分配(当函数调用开始时分配空间,当函数调用结束时释放空间)
[动静态] [有无符号] 类型 变量名
注:1、在函数内部定义是,没有声音auto时都默认为动态变量
2、形参也是动态变量
静态变量:程序运行开始分配空间,结束运行结束开始释放
static 变量
全局变量
堆 区:程序员空间(由程序员决定)
函数内的静态变量只会在程序开始时定义一次,与全局变量的区别就是生命周期一样,但是作用域小一点
练习:
1、打印1-100
2、求1-100的和
3、求某一项阶层的值
4、求前n项阶层的和
5、斐波拉契数 (从第三个数开始,每个数等于前两个数相加)
6、汉诺塔
注:N个圈操作时等于先把n-1个圈从A棍子放在B棍子上,然后移动最大的一个到C棍子上,最后把n-1个圈从B棍子到C棍子上,即完成n个圈的操作。
7、输入一个整数,倒着打印 12345
for(i=n;i!=0;n/10)
printf("%d\n",i%10);
8、字符串查找问题。
如果if里面有return,则他的else里面必须也要有return
9、二分法查找。
循环跟递归已经分不清楚了。。。