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)非静态成员函数可以随意的访问所有静态成员函数。

  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/2018zxy/p/10075507.html
Copyright © 2011-2022 走看看