C语言知识总结

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对象声明。以后肯定会持续更新……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值