C语言中static的作用及C语言中使用静态函数有何好处

2020-01-06 14:02:36丽君

9 2

10 1

(3)static的第三个作用是默认初始化为0。其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。比如初始化一个稀疏矩阵,我们可以一个一个地把所有元素都置0,然后把不是0的几个元素赋值。如果定义成静态的,就省去了一开始置0的操作。再比如要把一个字符数组当字符串来用,但又觉得每次在字符数组末尾加''太麻烦。如果把字符串定义成静态的,就省去了这个麻烦,因为那里本来就是''。不妨做个小实验验证一下。

 

 
  1. #include <stdio.h>  int a; 
  2. int main(void)  { 
  3. int i;  static char str[10]; 
  4. printf("integer: %d; string: (begin)%s(end)", a, str);  return 0; 

程序的运行结果如下

integer: 0; string: (begin)(end)

最后对static的三条作用做一句话总结。首先static的最主要功能是隐藏,其次因为static变量存放在静态存储区,所以它具备持久性和默认值0。

以上内容是关于c语言中static的作用。

下面给大家介绍C语言中使用静态函数的好处。

C语言中使用静态函数的好处:

静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。

关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。 使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。