精华内容
下载资源
问答
  • static在c语言中的作用
    2021-05-18 10:30:06

    《c语言中static的作用》由会员分享,可在线阅读,更多相关《c语言中static的作用(3页珍藏版)》请在人人文库网上搜索。

    1、static 的作用(精辟分析)在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1 )先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c int fun( void )static int count = 10;/事实上此赋值语句从来没有执行过return cou nt-;int count = 1;int main( void )pri ntf(globalttlocal static n);for (; count int a;int main( void )int i;static char str1O;pr in tf(i nteger: %d; stri ng: (beg in )%s(e nd), a, str);return 0;程序的运行结果如下integer: 0; string: (begin)(end)static最后对static的三条作用做一句话总结。首先static的最主要功能是隐藏,其次因为变量存放在静态存储区,所以它具备持久性和默认值0。

    更多相关内容
  • C语言中static关键字的作用
  • static在c里面可以用来修饰变量,也可以用来修饰函数。先看用来修饰变量的时候。...彼此可以互相引用变量,但加入static修饰之后,只能被本文件函数引用此变量。static对栈变量的修饰,可以认为栈变量的生命周期延长
  • C语言中Static关键字的作用

    千次阅读 2022-04-03 20:04:17
    static用于修饰局部变量时,通常某个函数体内,只能此函数内调用。 void test() { int i = 0; i++; printf("%d ", i); } int main() { int i = 0; for (i = 0; i < 10; i++) { test(); } return...

    目录

    1、修饰局部变量

    2、修饰全局变量

    3、修饰函数

    小结


    1、修饰局部变量

    当static用于修饰局部变量时,通常在某个函数体内,只能在此函数内调用。

    void test()
    {
        int i = 0;
        i++;
        printf("%d ", i);
    }
    int main()
    {
        int i = 0;
        for (i = 0; i < 10; i++)
        {
            test();
        }
        return 0;
    }

     打印结果:1 1 1 1 1 1 1 1 1 1

    这是因为 i 是局部变量,在函数调用完之后,i的生命周期也随之结束,当再次调用时,则重新新创建i。

    void test()
    {
        static int i = 0;
        i++;
        printf("%d ", i);
    }

     打印结果:1 2 3 4 5 6 7 8 9 10

     通过static定义的变量,称为局部静态变量,存放在局部静态区,它的值不会因为随着函数调用的结束被清除,生命周期依然存在,当函数再次调用时,它的值是上一次调用结束后的值。

    静态局部变量的特性:

    存储位置:处于静态储存区,当用static修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区。

    作用域:为局部静态作用域,即当定义它的函数结束的时候,作用域随之结束(不能被访问)。但是并没有被销毁,而是仍然存放在内存中,静态区的数据生命周期和程序的生命周期是一样的,直到程序结束,它的生命周期才结束。

    2、修饰全局变量

    关键字static还可以修饰全局变量,该变量在某一个文件中变量,但不属于任何一个函数范围内,这样的变量通常称为静态局部变量

     

     创建了两个C文件,用extern声明外部符号,main.c中即可打印出a的结果

     如果用static修饰之后

     运行时就会出现错误

     一个全局变量本来是有外部链接属性的,但是被static修饰后,外部链接属性就变成了内部链接属性,只能在自己所在的源文件内部使用,不能在其他文件内部使用。

     3、修饰函数

    static还可以用于修饰一个函数,这样的函数称之为静态函数。

    定义一个静态函数就是在函数的返回类型前加上static关键字。静态函数的作用域仅限于本文件,不能被其他文件调用。

     函数具有外部链接属性,可以在另一个文件中调用。

    如果用static修饰后,则不能正常使用

     

     所以静态函数的作用域仅限于本文将,不能被其他文件调用。

    小结

    1.用static修饰外部变量定义或函数定义后,该变量或函数只能在其定义所在的源文件内部使用,其他位置即使声明(外部变量要用extern),也无法使用。

    2.用static修饰某函数的内部变量后,该变量的存储单元在函数结束时也不会销毁,下一次调用函数时,依然是上次函数调用结束时的值。

    展开全文
  • 在C语言中static作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0。本文重点给大家介绍C语言中static作用c语言中使用静态函数有何好处,对本文感兴趣的朋友一起看看吧
  • static 在C语言中作用 1、修饰局部变量 修饰局部变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 /* 由static修饰的变量,其存储类型为全局...

    static 在C语言中的作用

    更多内容欢迎访问我的网站

    1、修饰局部变量

    • 在修饰局部变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放
    /*
    由static修饰的变量,其存储类型为全局静态区。
    变量在程序的整个运行过程中不会被销毁,并且只会被初始化1次。
    */
    void func1()
    {
        static int a1 = 1;        // 在全局静态区分配变量a1的存储空间
        int a2 = 1;               // 在栈区分配a2的存储空间
        a1 = a1+1;   
        a2 = a2+1;
        printf("a1=%d, a2=%d", a1, a2);
    }
    
    void main()
    {
        func1();
        func1();
        func1();
    }
    
    /*
    运行结果:
    a1=2, a2=2
    a1=3, a2=2
    a1=4, a2=2
    */
    

    2、修饰全局变量

    • static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以
    • 静态全局变量的作用域仅限于本文件,不会被其他文件所访问、修改。当其他文件中使用相同名字的变量时,不会发生冲突。

    3、修饰函数

    • static修饰一个函数,则这个函数只能在本文件中调用,不能被其他文件调用。
    • static关键字修饰函数或是全局变量时,起到的都是限定作用域的作用。
    static int a1 = 1;       // 限定全局变量a1仅在本源文件可见
    static void func1()        // 限定函数仅在本源文件可见
    {
        static int a2 =1;     // a2是静态变量,不是栈变量,只被初始化一次
    }       
    
    void main()
    {
        func1();
    }
    
    展开全文
  • C语言中static作用

    2018-11-20 22:46:39
    在C语言中static作用如下 第一、修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能本...

    C语言中static的作用

    转载自https://blog.csdn.net/newcong0123/article/details/52725595

    在C语言中static的作用如下

    第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
    第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。
    第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。初始化的时候自动初始化为0;
    (1)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰
    (2)考虑到数据安全性(当程想要使用全局变量的时候应该先考虑使用static)

    在C++中static关键字除了具有C中的作用还有在类中的使用 在类中,static可以用来修饰静态数据成员和静态成员方法

    静态数据成员

    (1)静态数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。
    (2)静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释放,只要类中指定了静态数据成员,即使不定义对象,也会为静态数据成员分配空间。
    (3)静态数据成员可以被初始化,但是只能在类体外进行初始化,若为对静态数据成员赋初值,则编译器会自动为其初始化为0
    (4)静态数据成员既可以通过对象名引用,也可以通过类名引用。

    静态成员函数

    (1)静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。
    (2)非静态成员函数有this指针,而静态成员函数没有this指针。
    (3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

    展开全文
  • 文章简单介绍了static在C语言中的应用
  • static在C语言中的用法

    2019-10-21 16:08:31
    在C语言中static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为...
  • C语言中static作用~

    千次阅读 2022-04-10 22:01:03
    static的三个作用 1.修饰局部变量 2.修饰全局变量 3.修饰函数 ...要想更好地理解static作用,我们有必要介绍一下以下三个概念: ... 当a被创建出来时,它的作用域只这个局部范围内,当出了这..
  • 接上文:C语言的32个关键字C语言 static 关键字的常见用法有三种:用于局部变量的修饰符;用于全局变量的修饰符;用于函数的修饰符。1、用于局部变量的修饰符当 static 用于修饰局部变量时,通常是某个函数体内,...
  • 在C语言中static有什么含义

    千次阅读 2021-05-21 04:42:10
    让一个变量长期有效,而不管其是什么地方被申明。比如:intfun1(){staticints_value=0;....}那么fun1不管什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再...
  • c语言中static关键字用法详解

    万次阅读 多人点赞 2018-04-05 18:18:14
    static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。 但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏...
  • 关键字static在C语言里主要有两个作用:1.修饰变量,2.修饰函数。变量分为局部和全局变量,但是都存于内存的静态区。函数前加static 使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的...
  • static关键字在C语言中作用简述 static关键字作为比较常见并且比较重要的一种关键字,程序模块化中有很大的作用在C语言中作用主要分为: 变量 (1).修饰局部变量的时候: a. static修饰的局部变量生命周期...
  • C语言中static用法详解

    万次阅读 多人点赞 2022-04-19 19:06:08
    使用static关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。 提示:以下是本篇文章...
  • 下面是我对static关键字在C语言中使用的一些总结,仅供参考。吾非大神,若有错漏之处,还请多多指点,大家一起交流学习。 正文 1. 变量 1.1 局部变量(函数体内) 局部变量定义函数体内部 普通局部变量 是任意一...
  • static什么意思c语言

    万次阅读 2021-05-19 03:36:21
    Q1:C语言编程中“static”是什么意思?static 出现不同的地方含义不抄同的。如果是函数之外使用,表示该对像此文件中是全局可访问的知,文件之外是...Q2:C语言中static char是啥意思?static就是静态的意思...
  • C语言中static变量的作用
  • C语言中staic关键字很简单,简单到你的任何一个项目中可以不写一个staic关键字也是没有问题的。写这篇章主要是一下自己的staic的理解和应用,当然章开头依旧要照本宣科简述一下static关键字。 1、简述 static...
  • c语言中static是什么意思?作用是什么发布时间:2020-04-30 10:07:02来源:亿速云阅读:290作者:小新今天小编给大家分享的...static在c语言中是什么意思c语言中static用来说明静态变量。1、如果是函数外面定义...
  • 在C语言中static的字面意思很容易把我们导入歧途,其实它的作用有三条。
  • c语言中static关键字的作用

    万次阅读 多人点赞 2018-08-19 17:42:15
    我们日常使用过程static通常有两个作用: 1、修饰变量 静态全局变量:全局变量前加static修饰,该变量就成为了静态全局变量。我们知道,全部变量整个工程都可以被访问(一个文件定义,其它文件使用的...
  • static在c语言中的用法

    千次阅读 2019-05-19 09:57:59
    static在c语言中的三种简单用法 在c语言中static用来修饰变量和函数 1.修饰局部变量-静态局部变量 2.修饰全局变量-静态全局变量 3.修饰函数-静态函数 修饰局部变量 //代码1 #include<stdio.h> void test() ...
  • C语言中static关键字修饰变量和函数 1、局部变量 2、全局变量 3、函数 修饰局部变量 1、用静态关键字static修饰的局部变量,编译的过程中,会数据区为该变量开辟空间,并对其进行初始化,如果代码中未对其进行...
  • C语言中static关键字用法和作用

    千次阅读 多人点赞 2021-04-11 00:15:44
    static修饰不同对象时的作用: 1.局部变量: 局部变量就是函数内定义的变量,普通的局部变量,生存周期是随着函数的结束而结束,每次函数重新执行,局部变量都是新的值,不会保留上次的值。当用static修饰后,局部...
  • 二、static在C语言中作用(C++通用) 1、修饰变量 a、修饰全局变量(全局变量与静态全局变量的对比) 修饰全局变量:作用域仅限于变量被定义的文件中,其他文件即使用extern声明也无法直接使用此变量,extern...
  • C语言中static作用.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 234,541
精华内容 93,816
热门标签
关键字:

static在c语言中的作用

友情链接: gaifen.zip