c语言函数退出后的变量,c++ 退出函数

c语言中 函数调用结束后,函数内定义的静态变量所

static不是允许修改,你估计和const搞混了,static表示静态存储,直到整个程序结束变量值才会从存储区释放,静态变量又分为全局静态变量和局部静态变量,

创新互联是专业的徐汇网站建设公司,徐汇接单;提供成都网站设计、做网站、成都外贸网站建设公司,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行徐汇网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

全局变量与全局静态变量的区别:

(a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别。

(b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的。

(c)具有外部链接的静态;可以在所有源文件里调用;除了本文件,其他文件可以通过extern的方式引用;

静态全局变量的作用:

(a)不必担心其它源文件使用相同变量名,彼此相互独立。

(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改。

(c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;

静态局部变量和作用域和局部变量一样,不过生存周期不一样,局部变量在定义局部变量的函数调用完之后就从内存中释放其值,而静态局部变量不释放,等整个程序全部执行结束后才会从内存中释放。

函数里的局部变量在函数退出后会不会自动释放?

会自动释放,指针也是一样的。

局部变量的作用域是定义该变量的函数或定义该变量的复合语句。只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。局部变量的生存期是从函数被调用的时刻算起到函数返回调用处的时刻结束。

扩展资料:

局部变量的作用域说明:

1、主函数main()中定义的变量也只在主函数中有效,而不能因为在主函数中定义在整个文件或程序中有效。主函数也不能使用其他函数中定义的变量。因为主函数也是一个函数,它与其他函数是平行关系。这一点是与其他语言不同的,应予以注意。

2、不同函数中可以使用相同名字的变量,它们代表不同的对象,分配不同的单元,互不干扰。例如,上面在f1函数中定义了变量b和c,倘若在f2函数中也定义变量b和c,它们在内存中占不同的单元,互不干扰。

3、形式参数是属于被调函数的局部变量。例如上面f1函数中的形参a,也只在f1函数中有效,其他函数可以调用f1函数,但不能引用f1函数中的形参a。

4、在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也称为“分程序”或“程序块”。

参考资料来源:百度百科-局部变量

C语言怎样在退出程序之后还保持变量的值不变,下次用程序值还在。

必须用文件来保存变量。

变量保存在内存中,但是你程序退出了,内存都释放了,还怎么保持变量值不变。

必须用文件来保存变量值,程序开头要读文件,给变量赋值。

c语言中,当程序退出时,怎样用一个文件将程序中的所有变量的值保存下来。

1、FILE *fp;

fp=fopen("c:\\read.txt","w");

if(!fp) exit(0);

fprintf(fp,"%d,%d",a,b);

2、FILE *out,*in;

//下面是把三个变量存储到文件中

out=fopen("out.txt","w");

fprintf(out,"%d %d %c",a,b,c);

扩展资料:

用LOCAL定义的变量或数组是局部变量或数组,局部变量或数组只能在创建它们的程序中使用和修改,不能被更高层次或者更低层次的程序访问,在它们所属的程序停止运行时,局部变量和数组将被释放。

用PRIVATR定义的变量和数组为私有数组。通过PRIVATE可将调用程序中定义的变量和数组在当前程序中隐藏起来,这样用户变可以在当前程序停止运行,所以被声明为私有的变量和数组均可重新被访问。

参考资料来源:百度百科-内存变量


当前标题:c语言函数退出后的变量,c++ 退出函数
链接URL:http://pwwzsj.com/article/heoohi.html