• 在c语言中,static主要定义全局静态变量,定义静态函数

    1.定义全局静态变量:在普通全局变量前面加上关键字static,该全局变量变成静态全局变量,如果没有给初始值,默认初始值为0,静态全局变量和普通全局变量的存储方式都是静态存储方式,但也有不同,普通全局变量的作用域是整个源文件,当一个源文件是由各个原文件组成时,普通全局变量在各个源文件都有效,而静态全局变量只能是在定义的本源文件中有效。所以把普通全局变量改为静态全局变量后是改变了它的作用域,限制了它的使用范围。
    2.定义局部静态变量:局部变量的存储地址是在栈上,会随着栈帧的回退而消失。而静态局部变量存储方式是在内存的.bss或者.data段,不会随着栈帧的回退而消失;静态局部变量始终存在着,也就是说它的生存周期是整个源文件,但是作用域和局部变量的作用域是一样的,即只能在定义该变量的函数中使用,退出函数后,尽管该静态局部变量不会消失,但不能使用它。对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。
    3.定义静态函数:在函数的返回类型加上static关键字,函数即被定义成静态函数。(1)静态函数只能在本源文件中使用。(2)在文件作用域中声明的inline函数默认为static。

  • 在C++语言中,新增了2个作用,定义静态数据成员和定义静态函数成员。

    1.定义静态数据成员,内存分配地址是在函数的全局数据区分配,静态数据成员定义时要分配空间,所以不能在类声明中定义。
    2.定义静态成员函数,静态成员函数与类相联系,不与类的对象相联系。静态成员函数不能访问非静态数据成员,因为非静态数据成员属于特定的类实例,主要用于对静态数据成员的操作;静态成员函数和静态数据成员都没有this指针。

static的用法及其作用相关推荐

  1. static关键字的用法与作用

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...

  2. static关键字用法

    static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句 ...

  3. 【C++】C/C++ 中 static 的用法全局变量与局部变量

    C/C++ 中 static 的用法全局变量与局部变量 目录 1. 什么是static? 1.1 static 的引入 1.2 静态数据的存储 2. 在 C/C++ 中static的作用 2.1 总的 ...

  4. inline内联的用法与作用

    inline内联的用法与作用      内联函数是一种编译机制,优点从代码上是看不出来的,但是程序的执行效率上有差别,通常,编译器对函数调用的处理是一种类似中断的方式,即当执行到函数调用语句时,程序把 ...

  5. C/C++中static的用法全局变量与局部变量

    转载自C/C++中static的用法全局变量与局部变量 1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在 ...

  6. C语言初阶-C语言中static的用法

    目录 前言 1.static的定义 2.static修饰局部变量 2.static修饰全局变量 3.static修饰函数 总结: 前言 哈喽,大家好,我是大鹏,目前是一名大二的学生,今天给大家带来的是 ...

  7. Java中static修饰符的作用

    近日在做网络通信服务器和客户端的Java语言开发,碰到了获取客户端长连接Channel对象,利用唯一对象Client的获取方法getSingleClientInstance(),以为可以得到,但是显示 ...

  8. c语言中的static和extern,C语言extern与static的用法,及extern “c

    C语言extern与static的用法,及extern "c " 一.c语言static与extern的用法 1.static和extern: 大工程下我们会碰到很多源文件. 文件 ...

  9. C/C++中Static和Const的作用

    C/C++中Static和Const的作用     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/53118850 一.c ...

最新文章

  1. 二部图最大权匹配_12,百度竞价推广账户搭建,关键词匹配-网络运营文字版
  2. SCVMM2012 SP1 添加VMware vCenter服务器
  3. 达摩院2021年十大科技趋势出炉:量子计算、脑机接口、第三代半导体应用……...
  4. 七十二、Python | Leetcode字符串系列(下篇)
  5. Django框架(4.django中进入项目的shell之后对数据表进行增删改查的操作)
  6. cannot delete activity in SAP CRM WebClient UI
  7. STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置
  8. Compass样式重置
  9. 混合编程:如何用pybind11调用C++
  10. Windows Linux Mac 路由添加删除
  11. Python运行Google App Engineer时出现的UnicodeDecodeError错误解决方案
  12. 代码安全/权限控制/敏感数据规范多多 - 第395篇
  13. PR简单压缩视频、音频、调整音频声音大小
  14. webApp用户体验优化——quickClick
  15. Linux服务器重启后crs,Linux服务器重启后crs_stat -t 命令无法正常使用以及解决思路...
  16. Webpack项目中引入Bootstrap4.x
  17. comsol软件入门基本操作
  18. 淘宝seo关键词优化推广技巧
  19. 移动端开发基本知识点总结
  20. 鼠害对计算机硬件的影响,电脑机箱漏电对电脑硬件伤害大吗

热门文章

  1. 男人感悟100条,值得一读!
  2. 解决 use of unstable library feature ‘xxxx‘
  3. 共享内存实现进程间大数据的交换
  4. 直线Bresenham算法
  5. 程序员如何保护自己的颈椎
  6. 一款功能强大的Web漏洞扫描和验证工具(Vulmap)
  7. 1.4 从0开始学Unity游戏开发--Unity编辑器初见
  8. vim的配置_vim全局配置
  9. matlab卡方分布的随机数,MATLAB产生随机数
  10. Java数据结构——栈(数组实现)