-
红颜莎娜
自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。3、如果用户不对static变量赋初值,则默认为0或'\0';而auto变量为不确定值。
-
慕哥9229398
static 是静态变量 就是在进程运行整个过程中一直存在的 ,函数里的 static变量可以保存上次运行时的值 在下次调用时使用函数外的 static 变量只在本文件中可以使用 ,在同时编译的其他文件中是不能访问的auto 变量就是函数运行时存在 函数结束了变量就不存在了,下次再运行到这里,再次使用,结束时再次失效一时理解不了没关系,慢慢会理解的。
-
函数式编程
在这两段程序中,在第一个中,当主函数每次调用AddOne()函数时,所定义的变量ia的初始值都是1;而在第二个中,主函数第一次调用AddOne()函数时,ia=1,当第二次调用时,ia的初始值就是上一次执行AddOne()函数后ia的值了;static 是静态变量,其作用域是全局。auto变量,作用域只是当前函数。