关于c语言auto变量和static变量区别
请解释一下区别#include<studio.h>voidAddOne(){autointia=1ia=ia+1printf("%d\n",ia);}intmai...
请解释一下区别#include<studio.h>void AddOne(){ auto int ia=1 ia=ia+1 printf("%d\n",ia);}int main(){ print("the first number is:") AddOne(); print("the second number is:") AddOne(); return 0;}-----------------------------------------------------------#include<studio.h>void AddOne(){ static int ia=1 ia=ia+1 printf("%d\n",ia);}int main(){ print("the first number is:") AddOne(); print("the second number is:") AddOne(); return 0;}
展开
1个回答
展开全部
自动变量(auto变量)和静态变量(static变量)主要有以下几点区别:
1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。
2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。
3、如果用户不对static变量赋初值,则默认为0或'\0';而auto变量为不确定值。
1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。
2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。
3、如果用户不对static变量赋初值,则默认为0或'\0';而auto变量为不确定值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询