您身边的网站建设专家
成功案例

【建站服务】博白网页设计-高端网站设计公司-域名申请

日期: 2022-09-21 03:23:52 浏览数:4


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


博白网页设计-高端网站设计公司

网站建设.png

  1. ister变量:动态和静态变量都是存放在内存中,程序中遇到该值时用控制器发指令将变量的值送到运算器中,需要存数再保存到内存中。如果频繁使用一个变量,比如一个函数体内的多次循环每次都引用该局部变量,我们则可以把局部变量的值放到CPU的寄存器中,叫寄存器变量。不需要多次到内存中存取提高效率。但是只能局部自动变量和形参可以做寄存器变量。在函数调用时占用一些寄存器,函数结束时释放。不同系统对register要求也不一样,比如对定义register变量个数,数据类型等限制,有的默认为自动变量处理。所以在程序一般也不用。

    实例 register.c

    #include <stdio.h>#include <time.h>#define TIME 1000000000int m, n = TIME; /* 全局变量 */int main(void){   
        time_t start, stop;
        register int a, b = TIME; /* 寄存器变量 */
        int x, y = TIME;          /* 一般变量   */
    
        time(&start);
        for (a = 0; a < b; a++);
        time(&stop);
        printf("寄存器变量用时: %ld 秒
    ", stop - start);
        
        time(&start);
        for (x = 0; x < y; x++);
        time(&stop);
        printf("一般变量用时: %ld 秒
    ", stop - start);
        
        time(&start);
        for (m = 0; m < n; m++);
        time(&stop);
        printf("全局变量用时: %ld 秒
    ", stop - start);
    
        return 0;}

    输出结果:

    寄存器变量用时: 1 秒一般变量用时: 8 秒全局变量用时: 9 秒
    小军

       小军

      198***0646@qq.com

       参考地址

    5年前 (2017-11-25)
  2.    FK

      421***224@qq.com

       参考地址

    37

    在 C 语言中,static 可以用来修饰局部变量,全局变量以及函数。在不同的情况下 static 的作用不尽相同。

    (1)修饰局部变量

    一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。但是在这里要注意的是,虽然用static对局部变量进行修饰过后,其生命周期以及存储空间发生了变化,但是其作用域并没有改变,其仍然是一个局部变量,作用域仅限于该语句块。

    在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。

    如:

    #include<stdio.h>  void fun()  {   
        static int a=1; a++;   
        printf("%d
    ",a);  }


    static int a=1; a++;   

    printf("%d ",a);  

}  

int main(void)  

{   

    fun();   

    fun();   

    return 0;  

}  

程序执行结果为: 2 3


说明在第二次调用fun()函数时,a的值为2,并且没有进行初始化赋值,直接进行自增运算,所以得到的结果为3.


对于静态局部变量如果没有进行初始化的话,对于整形变量系统会自动对其赋值为0,对于字符数组,会自动赋值为''.


(2)修饰全局变量


对于一个全局变量,它既可以在本源文件中被访问到,也可以在同一个工程的其它源文件中被访问(只需用extern进行声明即可)。


如:


//有file1.c  

int a=1;  

file2.c  

#include<stdio.h>  

extern int a;  

int main(void)  

{  

    printf("%d",a);  

    return 0;  

则执行结果为 1


但是如果在 file1.c 中把 int a=1 改为 static int a=1;


那么在file2.c是无法访问到变量a的。原因在于用static对全局变量进行修饰改变了其作用域的范围,由原来的整个工程可见变为本源文件可见。


(3)修饰函数


用static修饰函数的话,情况与修饰全局变量大同小异,就是改变了函数的作用域。


更多参考内容:C 语言中 static 的作用


FK

   FK


  421***224@qq.com


   参考地址


5年前 (2018-01-29)

   学以解忧


  145***3462@qq.com


22

static 的用法


用来说明静态变量 ,如果是在函数的,那么其效果和全局变量类似 。但是,static定义的变量只能在当前 c 程序文件中使用,在另一个 c 代码里面 , 即使使用 extern 关键词也不能访问这个static变量。如果实在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次初始化 , 这个变量的取值就会一直保存着,也就是说,当你再次调用这个函数的时候,里面用到这个static变量时,就会发现,它还是上一次函数调用时的结果。


实例 static.c:



博白网页设计-高端网站设计公司


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站