网站建设资讯

NEWS

网站建设资讯

c语言+静态函数,C语言静态函数不调用

C语言用func函数静态

这个很麻烦,不过不难。每次计算的时候,搞清楚各个值就好了。

创新互联主营柴桑网站建设的网络公司,主营网站建设方案,重庆APP开发,柴桑h5小程序制作搭建,柴桑网站营销推广欢迎柴桑等地区企业咨询

首先

func调用两次,参数都是主函数的k和m

这两个值是不变的。也就是说

两次都是func(4,1)

对于func

第一次

a=4

b=1

m=0

i=2

//初始化

i+=m+1

-

i=i+m+1=2+0+1=3

m=i+a+b=3+4+1=8

返回8

于是第一个printf输出8,

第二次

a=4

b=1

m=8

i=3

//这两个变量是static

的,所以第二次进入的时候,m和i都是第一次退出时的值。

i+=m+1

-

i=i+m+1=3+8+1=12

m=i+a+b=12+4+1=17

返回17

于是第二个printf输出17

选A

C语言中的静态函数的作用是什么?

动态函数执行结束后,函数占用的内存会被注销掉,数值不保留,静态就可以保留数值

C语言静态函数的问题,不是C++里的静态方法

楼上只说一半,可致电A和B是两个功能确实使用包括添加a.cpp和b.cpp的main.cpp里面使用包括实际的相应的代码的位置。真的做的项目没有这样做,并正在使用的头文件,

静态函数和变量在其他文件中是完全不可见的,这是错误的的地方楼上,即使有出口extern声明函数不能在编译的时候没有通过,将上报的静态类型错误,不能导出。 。 。在

头文件中加入你的原始文件结构:

/ /啊

#包括

使用命名空间std;

无效的(??); BR / / / BH

无效();

然后改变里面的两个main.cpp中包括AH和BH编译:g+ +的main.cpp的a.cpp b.cpp会发现报告的错误:

a.cpp:在函数'无效():

a.cpp:3:错误:无效()“被宣布为”外部“和后来的”静态“

啊:3:错误:()先前的声明“无效”

这里是因为一个函数的静态类型,你不能出口,摆脱静态这里可以编译通过。 。 。 。

这是静态的使用

C语言中静态函数是指只能在当前源文件中调用的函数,且static函数避免在调用函数时进栈出栈,所以

原因就是会造成空间的浪费,当系统调用函数是,事实它是在建副本(我这么说你能理解吧),在副本里面把所有的东西都运算处理在返回结果,然后把建副本的资源清掉回收,如果你是用了,静态变量和函数,那么在资源回收时就不回收这一部分的,等于下次要用时能继续用,一般是为了满足某种特殊需求而使用;如果全部都用,那就太浪费空间了


分享文章:c语言+静态函数,C语言静态函数不调用
分享网址:http://njwzjz.com/article/hddeed.html