这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关键字static的作用是什么?

共3条 1/1 1 跳转至

关键字static的作用是什么?

菜鸟
2011-10-23 22:34:07     打赏
关键字static的作用是什么?



关键词: 关键字     static     作用     是什么    

助工
2011-10-23 22:45:00     打赏
2楼
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

助工
2011-10-24 19:57:32     打赏
3楼
C中的static函数 分类   static 函数内部函数和外部函数     当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。 内部函数   (又称静态函数)     如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。     定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:     static 函数类型 函数名(函数参数表)     {……}     关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。     使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。 外部函数   外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:     [extern] 函数类型 函数名(函数参数表)     {……}     调用外部函数时,需要对其进行说明:     [extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];     [案例]外部函数应用。     (1)文件mainf.c     main()     { extern void input(…),process(…),output(…);     input(…); process(…); output(…);     }     (2)文件subf1.c     ……     extern void input(……) /*定义外部函数*/     {……}     (3)文件subf2.c     ……     extern void process(……) /*定义外部 函数*/     {……}     (4)文件subf3.c     ……     extern void output(……) /*定义外部函数*/     {……}

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]