在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和C++语言中的作用相关推荐

  1. list在c语言中的作用,在C语言中大略实现VC++中的LISTARRAY功能方法(一)

    在C语言中大概实现VC++中的LISTARRAY功能方法(一) #ifndef __LISTARRAY_H__ #define __LISTARRAY_H__ #include "rtthr ...

  2. main在c语言中的作用,main函数在C语言中是怎么定义的?有什么作用?

    main函数在C语言中是怎么定义的?有什么作用? 更新时间:2019-10-24 13:55 最满意答案 额,main不是程序的最开始啦.拿用glibc的程序来说,C语言执行的过程应该是 _start ...

  3. goto在c语言中的作用,关键字goto在C语言中的使用

    1.goto关键字基础知识关键字goto从字面的意思就是"去哪里"的意思,专业一点的话表示无条件跳转的意思(有学过汇编的小伙伴应该会觉得非常像jump指令),在C语言中的使用格式是 ...

  4. scanf在c语言中的作用是什么?

    scanf()函数 scanf()是C语言中的一个输入函数.与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf ...

  5. 循环语句在c语言中的作用是什么,C语言中循环语句的使用

    C语言中的循环语句 在C语言中,有三种类型的循环语句: for语句.while语句和do While语句. 分别介绍如下: 1.for循环语句 for语句格式为: for(表达式1;表达式2;表达式3 ...

  6. struck在c语言中的作用,C语言-选择题及答案.doc

    C语言-选择题及答案.doc 计算机程序设计基础(C语言) 单项选择练习题 说明:带*号的对非信息学院的同学不作要求. 一.基本概念 1. C语言程序是由 C 构成的. A)一些可执行语言 B)mai ...

  7. continue在c语言中什么作用,continue在c语言中什么意思?

    continue在c语言中是退出循环的意思,continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环. continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环.conti ...

  8. 二维数组在c语言中的作用,C语言中的二维数组

    1.二维数组的定义和引用 一. 数据类型 数组名[常量表达式1][常量表达式2]; (1)假如有个二维数组array[n][m],则行下标的取值范围0~n-1 (2)列下标的取值范围0~m-1 (3) ...

  9. sort在c语言中的作用,c语言中sort的用法详解.docx

    c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...

最新文章

  1. 整理第十六届全国大学智能车竞赛比赛数据
  2. java代码如何与界面联系在一起_如何在Visual Studio Code 中编写Java代码
  3. python知识:numpy的维度之变
  4. 【干货】接地气的产品设计流程
  5. Android 优秀博客汇总
  6. 16 | 二分查找(下):如何快速定位IP对应的省份地址?
  7. java 基础 泛型
  8. Struts2学习笔记 - Action篇定义逻辑Action
  9. 西威变频器使用说明书_北京2020第三期变频器电路板维修技术培训开班通知
  10. json转换为对象 java对象数组对象_将json数组转换为java列表对象
  11. USB总线-Linux内核USB3.0设备控制器驱动框架分析(四)
  12. 94页5万字市级应急平台建设方案
  13. 使用python3抓取链家二手房数据
  14. 在三层交换机上配置Trunk并指定接口封装为802.1q
  15. Python之django框架模型(models)详解
  16. centos添加桌面快捷方式
  17. 携程产品经理笔试题-2020秋招
  18. 网狐、6878 您所填写的推荐人不存在或者填写错误,请检查后再次注册
  19. word无法创建工作文件,请检查临时环境变量 Mark一下
  20. TPA4411RTJR

热门文章

  1. Google protobuf使用技巧和经验
  2. 数列分块入门2(区间小于c的个数)
  3. python中的decode(编码)和encode(解码)
  4. VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)
  5. 手机pc显示不同的内容
  6. nested exception is java.lang.IllegalStateException: Context namespace element 'annotation-config' a
  7. 俄罗斯方块:win32api开发
  8. Win32中GDI+应用(三)---Graphics类
  9. Plant Simulation常用命令
  10. 转:socket select模型示例