zoukankan      html  css  js  c++  java
  • static关键字的功能

    转载:https://blog.csdn.net/guotianqing/article/details/79828100

    C语言&C++

    1、局部变量

    如果在一个函数内部定义了一个静态变量,只给它赋值一次,如果它没有初始值,默认初始值为0,第二次调用函数的时候就不在定义它(即只定义一次)。

    静态局部变量的作用范围是函数的作用域内。

    eg:

    #include<stdio.h>
    void f()
    {
        static int num=1;
        printf("%d ",num++);
    }
    int main(void)
    {
        int i,n=3;
        while(n--)
        {
            f();
        }
        return 0;
    }
    View Code

    运行结果:1 2 3 

    2、全局变量

    如果定义在函数外面作为全局变量,编译器会对它初始化,

    这个变量仅对当前文件可见,其他文件不可访问,但其他文件可以定义与它相同名称的变量(作用:避免冲突)

    3、函数

    (1)静态函数只在声明它的文件中可用,其他文件不可用

    (2)不同的文件可以定义相同的静态文件名称,互相不影响。

    面向对象:

    1、静态数据成员:

    (1)是全局变量,不能再类定义时声明

    (2)静态数据成员是类的成员,对所有类的成员都可见

    (3)遵从public,private,protect的规则

    (4)访问方式:<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

    2、静态成员函数

    (1)属于整个类,不属于某一个成员函数

    (2)没有this指针,无法访问非静态成员函数

    (3)出现在类外的成员函数不能用static

    (4)非静态成员函数可以随意的访问所有静态成员函数。

  • 相关阅读:
    ASP.NET WEB API构建基于REST风格
    .net平台下深拷贝和浅拷贝
    Visual Studio 必备神器
    sql注入
    proxy
    职场人生
    JSch
    何时用继承,何时用组合
    视频码率,帧率和分辨率的联系与差别
    超过响应缓冲区限制
  • 原文地址:https://www.cnblogs.com/2018zxy/p/10075507.html
Copyright © 2011-2022 走看看