首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈static a={0};中static的作用

我们又知道,static int a;表示在全局区为变量a分配内存,同理我们在数组前面加上static之后,系统也为该数组在全局区分配内存,全局区的总内存比较大,一般会满足我们的需求。...如题:当n*m比较大时,这就是为什么static a[n*m]={0};必须带着static的原因了。 静态分配的,有两种情况: 1....、字段、属性、方法 2.标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 3.static三种用法: 4.用于变量前,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值...,这个方法称为静态函数: private void s() { static int a=1; a++; } 方法第一次调用结束后a在内存内值为2; 方法第一次调用结束后a在内存内值为3; 5.在方法(...函数)前用static修饰,表示此方法为所在类或所在自定义类所有,而不是这个类的实例所有,这个方法称为静态方法: 情况一:非静态方法: class t { t(....

63510

C# static

本文,在大文豪的static与C#中的static随笔基础上修改,增加了几个关键知识点 1、static 关键字简介 static是C#中经常使用的关键字之一,这个关键字常用于方法、字段、属性、事件、构造函数...、类中,不能用于常量、索引器、析构函数,使用static关键字,必须知道下面几个知识点: (1)、静态方法的调用与非静态方法的调用方式 a、静态方法调用方式:类名.静态方法名 b、非静态方法调用方式:new...它们最主要的区别是:静态成员成员在第一次初始化后,就给静态成员在内存中分配了地址,且这个地址只有一份,故static可以直接访问,而非静态成员必需手工去实例化该类,以对象的方式去访问变量和方法。...造成i的原因是: 在一个静态方法或者是静态构造函数中方法使用非静态成员,因为static类型是属于这个类本身的,在类被调用的时候,static类型就已经生成,而非static成员还没有生成,他不属于这个类的本身...的使用场合 a、需要保存全局都有效的数据, 如:当前已登录用户信息、系统配置信息、系统设置 b、因为效率相对更高,所以需要快速访问的 c、使用频率非常高的 3、static不能使用过多,应为太多会消耗系统的内存

85050

static和struct

1.起因 同事上班问了我一个问题,说在项目代码里看到了static struct的用法,但是编译器报错了,问我知道不知道,我脑子一呆,貌似没见过这种用法啊兄弟,只见过static一个变量或者函数的,static...struct是什么操作呢 并且同事又说在网上查到,struct是不占空间的,static是占空间的,所以不能static struct,我寻思struct记忆中不是只占最大变量的那个空间嘛,所以觉得这问题值得一思考...,便有了这篇文章 2.static struct可以用吗 首先回答这个问题 static struct MyStruct { int myInt; }; 这是错误的,因为static只能声明变量和函数...需要这样做 1.定义MyStruct 2.声明一个静态的实例 也就是下面这个代码 struct MyStruct { int myInt; }; // 在函数外部声明一个静态的MyStruct实例 static...但是可不能这样写奥 struct MyStruct { static MyStruct myInstance; // 这是错误的 }; 这样也就是在结构体定义中声明静态结构体,这样是不行的,因为静态成员并不是结构体的实例成员

4810

static用法详解

静态数据成员可以是private成员,而全局变量不能; 2、静态成员函数   与静态数据成员一样,我们也可以创建一个静态成员函数,它为类的全部服务而不是为某一个类的具体对象服务。...什么时候用static?   需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部,对外不可见。...你可以将方法和变量都声明为staticstatic 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。   ...举例   如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。...下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块:   // Demonstrate static variables,methods,and blocks

1.1K90

C# static

在 C# 中,static 关键字被用来标识一个成员(变量、方法、属性等)属于类自身,而不是类的实例。这意味着,无论我们创建多少个类的实例,都只会有一个 static 成员的副本。...关于 static 存储的一些主要特点: 生命周期: static 变量的生命周期与程序的生命周期相同。当程序开始时,它们被初始化,当程序终止时,它们被销毁。...存储位置: static 变量存储在托管堆(Managed Heap)上的高频段,而不是与对象实例一起存储。 共享性: 所有实例共享同一个 static 变量。...static修饰的含义 static 关键字可以用于修饰类的成员(变量、方法、属性)和类本身。...由于 static 成员与类相关联,不论实例化多少个类,对于每个 static 成员都只会有一个副本。 全局访问: static 成员可以在没有创建对象的情况下被访问,因此它们可以被看作是全局变量。

19020

Java(static静态)

static(静态) 当创建一个类有以下代码: static String room; 一旦使用了关键字static,那么这样的内容不再属于对象自己,而属于所在的类; 当所在类被new出来之后,它不再需要用对象去....出来; 调用: 类名.room;//使用这个内容直接用所在类.出来 例如: public class Test{ public static void main(String[] arge){...//Student stu=new Student(); System.out.println(Student.room); } } public class Student{ static...如果没有static关键字,那么必须创建对象,然后通过对象才能使用; 如果有了static关键字,那么不需要创建对象,直接通过类名称来使用。...(); } } public class Student{ static{ //静态代码块内容 System.out.println("静态代码块输出"); } } 以上代码输出结果

46810

static和extern

控制域和生命周期 生命周期跟控制域是不一样的 static修饰局部变量 static修饰局部变量 原本局部变量是在栈区 经过修饰后变为局部静态变量...储存区发生变化变为静态区 生命周期会和程序生命周期一样 而控制域不变还是只能在那个小地方使用 static修饰全局变量 全局变量虽然控制域和生命周期的范围都是整个程序...但是如果想在程序中的不同文件使用 就需要引用extern去声明 如上图全局变量需在不同文件中使用需用extern声明使用 如果用static修饰全局变量 则全局变量会变为全局静态变量 它只能在自己所在的源文件内使用...static修饰函数 函数能在整个项目中用,但是在不同文件中用就要跟全局变量一样需要声明(全局变量声明要用到extern...,函数用不用extern进行声明都可以 (因为默认有extern)) 如果用static修饰函数 (该函数被修饰后效果跟全局变量被修饰后效果一样) 都是只能在该文件上使用 内存的不同部位

11210

CC++中static变量和static函数的用法

如果main函数在static int get_last_node(List *Head) 之前定义,那么就应该在头文件后面用语句: static int get_last_node(List *Head...(建议静态函数都在头 文件后声明) #include static int count = 0; //静态变量 static int get_last_node(List *Head...声明方法为:static 数据类型 成员变量名 初始化方法为: static 类名::成员变量名 = 值 静态成员函数: 相同与静态成员数据,静态成员函数也是属于某个类而非某个对象 声明方法为: static...利用static的作用, 延长变量的生存期....二、外部静态变量/函数 在C中static有了第二种含义:用来表示不能被其它文件访问的全局变量和函数。, 但为了限制全局变量/函数的作用域,函数或变量前加static使得函数成为静态函数。

1.9K30
领券