C语言关键字static的使用
static的作用,是为了模块化设计而成立的,因为static的作用限定了变量或者函数能够被访问的作用域。下面是相关的知识,欢迎阅读。
static 可以修饰变量和函数1、static 修饰函数
函数的访问范围就被限定在本文件以内,任何本文件以外内容的'访问此函数,都是非法和无效的,编译不会通过,提示找不到该符号。 所以,我们在进行一个函数设计的时候,首先需要考虑的就是,这个函数的作用是什么,作用范围是什么,我们应该怎么去保证模块化。如果没有被外部文件访问,那么就把它限定为static。这就是这个static 修饰函数的用处。
2、static 修饰变量
无论在文件的哪个位置,用static修饰 变量,这个变量运行时都是占用的RAM里的静态全局数据区,再说一遍,静态全局。在程序运行的整个生命周期内是不会释放的,这个我们也在前面单片机相关的文章里讲过了。
既然static 修饰的变量和全局变量占用一样的空间,为何还有static修饰,直接全局变量也就OK了啊? 对于硬件来说,有没有static自然是一样的,但是对于软件却不一样。
函数外static修饰的变量,仅仅限定与本文件使用,所以你可以不关注本文件以外的信息,就知道这个变量是如何变化和使用的,这就减小了你阅读程序的难度。
函数内static修饰的变量,仅仅限定于本函数使用,所以你可以不关注本函数以外的信息,就知道这个变量是如何变化的,进一步减小了你阅读程序的难度,也方便查询问题。
所以能定义为static的就尽量定义为static(后面会再更新如何去除static,书写可重入函数)。
-
2017计算机二级C语言上机考试技巧
引导语:在计算机二级C语言考题中要求考生把一道C语言程序考题,通过考生自己编写的函数补充完整,共同完成考题的一项或多项任务。以下是本站小编分享给大家的2017计算机二级C语言上机考试技巧,欢迎阅读!第一部:备考篇名将不打无准备之仗,复习备考的好坏,是能否顺利通过...
-
C语言考试机试经验三部曲
全国计算机等级考试的持续升温,至使全国计算机等级考试证书已成为国家公务员、国家企事业单位工作人员、公司员工等上岗、加薪、提拔的必备条件。以下是本站小编整理的C语言考试机试经验三部曲,希望可以为您的考试带来帮助!第一部:备考篇名将不打无准备之仗,复习备...
-
C++中四种加密算法之DES源代码
DES算法是一种最通用的对称密钥算法,因为算法本身是公开的,所以其安全性在于密钥的安全性。基于密钥的算法通常有两类:对称算法和公开密钥算法。对称算法的对称性体现在加密密钥能够从解密密钥推算出来,反之亦然。下面梳理了C++中四种加密算法之DES源代码,供大家参...
-
2017上半年计算机二级C语言考前模拟试题
为了帮助大家提高计算机考试成绩,今天本站小编特地为大家收集了以下2017上半年计算机二级C语言考前模拟试题,欢迎学习!一、程序填空题给定程序中,函数fun的功能是:把形参S所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度...