C语言知识总结

来源:互联网 发布:网络任务源码 编辑:程序博客网 时间:2024/06/06 02:51

static变量的用法

这是首次用Markdown来写我的首个msdn博客,有不合理或错误的地方请指出。学过Java的朋友都知道,static是静态变量,那么C语言里static的用法是什么呢?一般初学C语言的人是不会接触到static的。我是在学stm32里接触到这个变量的,后来查网上的资料发现解释很细很专业,今天我就通俗粗将一下用法。
那么就正式介绍static,static有两种用法一个是函数中的static用法,在函数中尤其是自定义函数中经常会见到被static定义的变量,例如:


int Sum();int main()//求1-100的和{    int sum=0;    for(int i=1;i<=100;i++)    {        sum += Sum();    }}int Sum(){    static int n=0;     //定义整型静态变量n    n++;    return n;}

上面的代码体现了局部static变量的特性,首先在自定义函数里static声明的变量只能被调用一次而且变量并不会伴随函数的结束而清空,也就是说只有第一次调用Sum()函数时才会运行n=0的赋值语句,并且在n++后并且在Sum()函数结束时变量n并不会被清除,第二次调用函数时n的初值变为1.有点类似指针的功能。
static的另一个用法是全局静态变量,当学习C语言深入时,一个源程序由多个源文件组成时,非静态变量在其中一个文件定义后其他文件均可调用该变量,而被static定义的全局静态变量则相反,该变量只能在该源文件中被调用,也就是限制了作用域。有些类似于Java里面的private对象声明。以后肯定会持续更新……

1 0
原创粉丝点击