精华内容
下载资源
问答
  • 让一个变量长期有效,而不管其是在什么地方被申明。比如:intfun1(){staticints_value=0;....}那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再...

    2019-10-10阅读(64)

    最主要有两点用途。让一个变量长期有效,而不管其是在什么地方被申明。比如:intfun1(){staticints_value=0;....}那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再被用

    2019-10-10阅读(88)

    你好,腌制酱油蒜的方法如下:主料:成熟的大蒜。调料:酱油、花椒、大料、盐。做法:1、将水倒入锅内,加入酱油、花椒、大料、盐、熬成浓汁。放置凉透。2、将大蒜装入一容器内(玻璃或陶罐均可)倒入已凉透的腌汁,密封好容器口,3、几日后可食。希望能够

    2019-10-10阅读(75)

    题中,i为静态局部变量,在fun1函数中,i声明的同时初始化,初值为0,以后再调用函数,i不再重新初始化,连续调用10次函数,i依次累加,最后结果为10;j为静态全局变量,在声明的同时你没有赋值,j的值在调用函数时,被重新赋值,不会累加,你可以把j=0;写到上面static

    18e29321ac03cccc788c8f6e040f6c27.png

    2019-10-10阅读(362)

    在C语言中,static关键字的作用如下:1、在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便

    2019-10-10阅读(157)

    大王酸浆鱿不是大王乌贼,也不是因为血是酸味儿的。因为它这个科叫做酸浆鱿科。这个科的模式物种就是酸浆鱿。一种透明的圆溜溜,萌萌哒的小鱿鱼。长得就像一种水果,叫做酸浆,也就是苦泡泡,所以酸浆鱿就是苦泡泡鱿鱼的意思。其之所以有酸浆二字

    2019-10-10阅读(80)

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,

    2019-10-10阅读(92)

    伺服电机又叫交流伺服电机,交流同步电机;普通电机通常指交流异步电机。主要区别在于:1,工作在闭环反馈和开环状态原理的区别;这也是最大的区别,交流同步电机需要通过电机后端的传感器及编码器反馈速度、位置或力矩参考值给配套驱动器,再由驱动

    2019-10-10阅读(87)

    大蒜具有杀菌消炎,预防癌症,预防心脑血管疾病,增强免疫力等作用可以吃的,最好不要腌制,因为腌制后大蒜里会含有亚硝酸盐,生吃最好,不要过量服用,可刺激胃黏膜1、抗癌国外研究发现,大蒜中的含硫化合物能促进肠产生一种酶或称为蒜臭素的物质,通过增

    2019-10-10阅读(77)

    主料:大蒜40头、酱油1000克、醋500克、水1000克、白糖50克。辅料:花椒2克、八角6克。做法步骤:1、新鲜的大蒜剥去外边的那层皮,根部用刀削一下。2、处理好的大蒜,一定要留有两层外皮,我用了40头,大概是6斤左右。3、把蒜放到盆里,用水泡一下,这样

    2019-10-10阅读(77)

    用料:大蒜、酱油、朝天椒、姜。制作方法:1、切掉大蒜底部这个位置,可以更容易入味,然后把蒜衣剥掉。2、只用白白嫩嫩没有瑕疵的蒜,大蒜最好不要弄碎。3、剥好的大蒜用水冲洗干净,然后晾干或者用厨房纸擦干。如果要放辣椒或者姜的话也一样清洗

    2019-10-10阅读(99)

    关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:;在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。;在模块内(但在函数体外),一个被声明为静态的变量可以被模块内

    2019-10-10阅读(103)

    应该说对外开放的蹦极跳都是有双人跳的,不过由于有些地方装备不一样,双人跳不是对每个人都开放的,就像我们重庆这边的统景蹦极,双人跳只对有过至少一次以上蹦极弹跳经验的游客开放,也就是说要是您之前没有玩过蹦极,那么第一次就不能跳双人跳。

    2019-10-10阅读(68)

    食材猪肉500克盐菜100克油适量盐适量豆瓣适量姜适量酱油适量大蒜适量制作时间:10-20分钟用餐人数:步骤1猪肉煮熟冷却后切薄片(以前老家少柴都是生切的)2盐菜3姜蒜粒4锅内放点油(防止肉粘锅),油温高后下入肉片5爆干一点后(吃着香又不肥腻),下姜蒜,少

    2019-10-10阅读(77)

    埃菲尔铁塔(法语:LaTourEiffel)是一座于1889年建成位于法国巴黎战神广场上的镂空结构铁塔,高300米,天线高24米,总高324米。埃菲尔铁塔得名于设计它的桥梁工程师居斯塔夫·埃菲尔。铁塔设计新颖独特,是世界建筑史上的技术杰作,因而成为法国和巴黎

    2019-10-10阅读(64)

    最主要有两点用途。让一个变量长期有效,而不管其是在什么地方被申明。比如:intfun1(){staticints_value=0;....}那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再被用2019-10-10阅读(75)

    题中,i为静态局部变量,在fun1函数中,i声明的同时初始化,初值为0,以后再调用函数,i不再重新初始化,连续调用10次函数,i依次累加,最后结果为10;j为静态全局变量,在声明的同时你没有赋值,j的值在调用函数时,被重新赋值,不会累加,你可以把j=0;写到上面static18e29321ac03cccc788c8f6e040f6c27.png

    2019-10-10阅读(362)

    在C语言中,static关键字的作用如下:1、在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便2019-10-10阅读(80)

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,2019-10-10阅读(79)

    声明成static跟声明在函数体外面是差不多的(当然可见性上是不同的)如果你是看那句里面的等号不顺眼,这是因为,c里等号的意义是分两种情况的,一种是在表达式里,而另一种是在变量声明中。在变量声明中的等号不可以看作是赋值,它只是初始化,也就是2019-10-10阅读(80)

    海南特产一、椰子食品类主要是各种椰子糖果、椰花、椰角、椰糯糕、椰香酥饼、椰片糖、椰计粉和椰子酱等。二、咖啡类生煮咖啡粉、速溶咖啡粉、椰奶咖啡粉等。海南目前本地的咖啡名品牌有海口的力神咖啡、澄迈的福山咖啡和兴隆华侨农场的2019-10-10阅读(81)

    海南四大小吃1、文昌鸡:因产地文昌得名。号称“海南传统四大名菜之首”,正宗的文昌鸡,具有独特的养法。上席的文昌鸡一般都是白切,入口香滑,味道鲜美,肥而不腻,为原鸡菜式中的上品。2、嘉积鸭:又称“番鸭”,因产于琼海市嘉积镇而得名。是海南四大2019-10-10阅读(129)

    输出功率不变,电机的启动性能会好一些,功率因数可以提高一些,记住一点,线经和匝数绝对不能变。因为不管单层还是双层,你可以用电感表测线圈的电感数值是一样的。直流电阻也是一样的。一台电机,定子的铁芯已经决定了它的功率,原装数据是最佳设计

    展开全文
  • c语言中static关键字用法详解

    万次阅读 多人点赞 2018-04-05 18:18:14
    static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。 但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏...

    概述

    static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。

    但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。

    最后一节加入了c++面向对象中static的使用特性,当作拓展阅读。


    在程序中使用static

    变量

    1. 局部变量

    普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。

    普通局部变量存储于进程栈空间,使用完毕会立即释放。

    静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。

    变量在全局数据区分配内存空间;编译器自动对其初始化
    其作用域为局部作用域,当定义它的函数结束时,其作用域随之结束

    小程序体会一下静态局部变量的威力:

    #include <stdio.h>
    
    void fn(void)
    {
        int n = 10;
    
        printf("n=%d\n", n);
        n++;
        printf("n++=%d\n", n);
    }
    
    void fn_static(void)
    {
        static int n = 10;
    
        printf("static n=%d\n", n);
        n++;
        printf("n++=%d\n", n);
    }
    
    int main(void)
    {
        fn();
        printf("--------------------\n");
        fn_static();
        printf("--------------------\n");
        fn();
        printf("--------------------\n");
        fn_static();
    
        return 0;
    }
    

    运行结果如下:

    -> % ./a.out 
    n=10
    n++=11
    --------------------
    static n=10
    n++=11
    --------------------
    n=10
    n++=11
    --------------------
    static n=11
    n++=12
    

    可见,静态局部变量的效果跟全局变量有一拼,但是位于函数体内部,就极有利于程序的模块化了。

    2. 全局变量

    全局变量定义在函数体外部,在全局数据区分配存储空间,且编译器会自动对其初始化。

    普通全局变量对整个工程可见,其他文件可以使用extern外部声明后直接使用。也就是说其他文件不能再定义一个与其相同名字的变量了(否则编译器会认为它们是同一个变量)。

    静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

    在定义不需要与其他文件共享的全局变量时,加上static关键字能够有效地降低程序模块之间的耦合,避免不同文件同名变量的冲突,且不会误使用。

    函数

    函数的使用方式与全局变量类似,在函数的返回类型前加上static,就是静态函数。其特性如下:

    • 静态函数只能在声明它的文件中可见,其他文件不能引用该函数
    • 不同的文件可以使用相同名字的静态函数,互不影响

    非静态函数可以在另一个文件中直接引用,甚至不必使用extern声明

    下面两个文件的例子说明使用static声明的函数不能被另一个文件引用:

    /* file1.c */
    #include <stdio.h>
    
    static void fun(void)
    {
        printf("hello from fun.\n");
    }
    
    int main(void)
    {
        fun();
        fun1();
    
        return 0;
    }
    
    /* file2.c */
    #include <stdio.h>
    
    static void fun1(void)
    {
        printf("hello from static fun1.\n");
    }
    

    使用 gcc file1.c file2.c编译时,错误报告如下:

    /tmp/cc2VMzGR.o:在函数‘main’中:
    static_fun.c:(.text+0x20):对‘fun1’未定义的引用
    collect2: error: ld returned 1 exit status
    

    修改文件,不使用static修饰符,可在另一文件中引用该函数:

    /* file1.c */
    #include <stdio.h>
    
    void fun(void)
    {
        printf("hello from fun.\n");
    }
    
    /* file2.c */
    int main(void)
    {
        fun();
    
        return 0;
    }
    

    同样使用 gcc file1.c file2.c编译,编译通过,运行结果如下:

    -> % ./a.out 
    hello from fun.
    

    面向对象

    静态数据成员

    在类内数据成员的声明前加上static关键字,该数据成员就是类内的静态数据成员。其特点如下:

    • 静态数据成员存储在全局数据区,静态数据成员在定义时分配存储空间,所以不能在类声明中定义
    • 静态数据成员是类的成员,无论定义了多少个类的对象,静态数据成员的拷贝只有一个,且对该类的所有对象可见。也就是说任一对象都可以对静态数据成员进行操作。而对于非静态数据成员,每个对象都有自己的一份拷贝。
    • 由于上面的原因,静态数据成员不属于任何对象,在没有类的实例时其作用域就可见,在没有任何对象时,就可以进行操作
    • 和普通数据成员一样,静态数据成员也遵从public, protected, private访问规则
    • 静态数据成员的初始化格式:<数据类型><类名>::<静态数据成员名>=<值>
    • 类的静态数据成员有两种访问方式:<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

    同全局变量相比,使用静态数据成员有两个优势:

    • 静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其它全局名字冲突的可能性
    • 可以实现信息隐藏。静态数据成员可以是private成员,而全局变量不能
    静态成员函数

    与静态数据成员类似,静态成员函数属于整个类,而不是某一个对象,其特性如下:

    • 静态成员函数没有this指针,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数
    • 出现在类体外的函数定义不能指定关键字static
    • 非静态成员函数可以任意地访问静态成员函数和静态数据成员

    总结

    static是一个很有用的关键字,使用得当可以使程序锦上添花。当然,有的公司编码规范明确规定只用于本文件的函数要全部使用static关键字声明,这是一个良好的编码风格。

    无论如何,要在实际编码时注意自己的编码习惯,尽量体现出语言本身的优雅和编码者的编码素质。

    展开全文
  • C语言中static关键字的作用
  • 在C语言中static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0。本文重点给大家介绍C语言中static的作用及c语言中使用静态函数有何好处,对本文感兴趣的朋友一起看看吧
  • C语言中static详述

    2013-08-20 06:28:17
    在C语言中static的字面意思很容易把我们导入歧途,其实它的作用有三条。 一、Static的功能 1、隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明...
  • C语言中static变量使用方法
  • 介绍c语言中static的各种用法,可以加深对于c语言中static的本质理解认识。
  • 在C语言中static关键字的作用

    千次阅读 2018-11-29 17:42:55
    在C语言中 static修饰函数的时候 静态函数:作用范围仅限于它的源文件,即只有本文件内才可以调用,函数名其他文件内不可 见。 static修饰局部变量的时候 局部静态变量:局限于特定函数,但出作用域并不释放,...

    static关键字的作用
    在C语言中
    static修饰函数的时候
    静态函数:作用范围仅限于它的源文件,即只有本文件内才可以调用,函数名在其他文件内不可
    见。
    static修饰局部变量的时候
    局部静态变量:局限于特定函数,但出作用域并不释放,在函数体内静态变量的值也能维持。
    static修饰全局变量的时候
    全局静态变量:作用范围局限于它的源文件,即只有本文件内的代码才可以访问它,变量名在
    其他文件内不可见。
    存放位置
    程序开始时,存放在全局数据区,结束时释放空间,默认初始化值为0,使用时可以改变其值。


    static关键字作用的具体描述
    隐藏
    未加static前缀的全局变量和函数具有全局可见性,static可以作为函数和变量的前缀,对于函
    数来讲,static的作用仅限于隐藏。
    保持变量内容的持久
    static修饰局部变量后,改变了它的存储方式,把局部变量存储到静态存储区,改变了局部变量
    的生存期,生存期为整个源程序,作用域仍在定义该变量的函数内。
    static修饰全局变量后,改变了它的作用域,限制了它的使用范围,作用域局限于它的源文件,
    只有本文件内的代码可以访问,变量名在其他文件不可见。
    默认初始化为0<static变量>
    全局变量也具备这一属性,,因为全局变量和被static修饰的局部变量都存放在静态数据区,内
    存中所有的字节默认值都是0x00.
    总结:static最主要的功能是隐藏,其次static变量存放在静态存储区,所以它具备持久性和默认值0.
    --------------------- 
    作者:lf1570180470 
    来源:CSDN 
    原文:https://blog.csdn.net/lf1570180470/article/details/56489814 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • C语言中static的作用.pdf
  • C语言中static用法大全

    2011-11-01 18:13:37
    详细讲解C语言中static的用法 掌握static的各种使用场合
  • 以下是对c语言中static函数的用法进行了详细的分析介绍,需要的朋友可以过来参考下
  • C语言中static的作用

    2015-11-11 14:42:56
    网上找到的一篇介绍C语言中static作用的好文章,分享一下,也做自己收藏。

    在网上找到的一篇介绍C语言中static作用的好文章,分享一下,也做自己收藏。

    static的作用

    自己再总结一下:

    1.static 作为变量或函数的修饰符,在编译时进行静态存储空间的分配。

    2.在文件内定义一个static变量或函数时,做隐藏用,表示由它修饰的变量或函数只在本文件内作用,且如果变量没有赋初值,那么初值默认为0

    3.在一个函数内定义一个static变量时,此变量的作用域只在本函数内,且初值在编译时直接写入存储器,并不再执行定义该变量的赋初值语句

    上面给出链接,非常感谢原作者。

    展开全文
  • 以下是对c语言中static和extern的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
  • c语言中static用法总结.pdf 让你全面透彻的认识static的用法,帮你细心总结,让你收获知识。
  • c语言中static_用法总结.docc语言中static_用法总结.doc
  • C语言中static用法

    千次阅读 2017-04-24 16:21:11
    google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料...
  • c语言中static使用方法

    2011-03-22 22:21:43
    c语言 static 所有用法,菜鸟必看
  • 下面是我对static关键字在C语言中使用的一些总结,仅供参考。吾非大神,若有错漏之处,还请多多指点,大家一起交流学习。 正文 1. 变量 1.1 局部变量(函数体内) 局部变量定义函数体内部 普通局部变量 是任意一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 196,076
精华内容 78,430
关键字:

在c语言中static什么意思

c语言 订阅