Static是什么意思啊,在C程序里面
发布网友
发布时间:2022-04-23 03:43
我来回答
共7个回答
热心网友
时间:2022-05-11 10:40
展开3全部
static可应用于应用于内部变量、外部变量和函数。应用于内部变量时,其作用是用来指定变量的存储类别为静态变量。应用于外部变量和函数时,其作用是*变量或函数的作用范围仅限于外部变量或函数所在的源文件。
1、在整个程序运行的过程中,无论静态内部变量所在的函数被调用了多少次,静态内部变量只运行一次初始化,即在程序运行时完成的。
2、在函数的两次调用期间,静态内部变量所在存储单元不被释放,因而当前次函数调用执行时其值会被保存下来,下次调用时该值依然存在。即静态内部变量的值在从一次函数调用到下一次函数调用到下一次函数调用到下一次函数调用之间保持不变。
3、 默认情况下,外部变量的作用域是从定义变量的位置到所在源文件的末尾。
一、函数分为内部函数和外部函数
当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
1、内部函数(又称静态函数)
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表){……}
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
2、外部函数
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:
[extern] 函数类型 函数名(函数参数表){……}
调用外部函数时,需要对其进行说明:
[extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];
二、C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
扩展资料:
static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。
1、最重要的一条:隐藏。
同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
加了static,就会对其它源文件隐藏。例如在a和msg的定义前加上static,main.c就看不到它们了。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。Static可以用作函数和变量的前缀,对于函数来讲,static的作用仅限于隐藏,而对于变量,static还有下面两个作用。
2、static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。
3、static的第三个作用是默认初始化为0。其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。比如初始化一个稀疏矩阵,我们可以一个一个地把所有元素都置0,然后把不是0的几个元素赋值。
如果定义成静态的,就省去了一开始置0的操作。再比如要把一个字符数组当字符串来用,但又觉得每次在字符数组末尾加’\0’太麻烦。如果把字符串定义成静态的,就省去了这个麻烦,因为那里本来就是’\0’。
最后对static的三条作用做一句话总结。首先static的最主要功能是隐藏,其次因为static变量存放在静态存储区,所以它具备持久性和默认值0。
参考资料来源:
百度百科-static函数
百度百科-c语言
热心网友
时间:2022-05-11 11:58
编辑本段C中的static函数
分类
static 函数内部函数和外部函数
当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
内部函数
(又称静态函数)
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表)
{……}
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
外部函数
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:
[extern] 函数类型 函数名(函数参数表)
{……}
调用外部函数时,需要对其进行说明:
[extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];
[案例]外部函数应用。
(1)文件mainf.c
main()
{ extern void input(…),process(…),output(…);
input(…); process(…); output(…);
}
(2)文件subf1.c
……
extern void input(……) /*定义外部函数*/
{……}
(3)文件subf2.c
……
extern void process(……) /*定义外部 函数*/
{……}
(4)文件subf3.c
……
extern void output(……) /*定义外部函数*/
{……}
热心网友
时间:2022-05-11 13:33
static可应用于应用于内部变量、外部变量和函数。应用于内部变量时,其作用是用来指定变量的存储类别为静态变量。应用于外部变量和函数时,其作用是*变量或函数的作用范围仅限于外部变量或函数所在的源文件。
1)在整个程序运行的过程中,无论静态内部变量所在的函数被调用了多少次,静态内部变量只运行一次初始化,即在程序运行时完成的。
2)在函数的两次调用期间,静态内部变量所在存储单元不被释放,因而当前次函数调用执行时其值会被保存下来,下次调用时该值依然存在。即静态内部变量的值在从一次函数调用到下一次函数调用到下一次函数调用到下一次函数调用之间保持不变。
3) 默认情况下,外部变量的作用域是从定义变量的位置到所在源文件的末尾。
热心网友
时间:2022-05-11 15:41
静态变量,值不能改变。
热心网友
时间:2022-05-11 18:05
在C程序里面,Static是静态的意思,用于定义静态函数(又称内部函数)。
当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。
内部函数(又称静态函数),在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,完整格式为:
static 函数类型 函数名(函数参数表){……}。
使用内部函数的好处是,不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
扩展资料:
C语言中外部函数的定义:
C语言中,如没需要内部函数的情况,均只需定义外部函数。在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数,它的完整形式为:
[extern] 函数类型 函数名(函数参数表){……}。
参考资料来源:百度百科-static (计算机高级语言)
热心网友
时间:2022-05-11 20:47
静态变量
热心网友
时间:2022-05-12 06:31
静态
c语言中static说明是什么意思? c语言中static是什么
1、static用来说明静态变量。2、如果是在函数外面定义的,那么其效果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。3、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数...
c语言中的static是什么意思?
static在c语言中是私有、静态意思。用于在函数中声明“静态变量”用,在每一次调用后,该变量并不在函数返回时立即释放,变量中保存的值,可以保留到下一次调用时继续有效。私有就是隐藏。static函数只能声明后的本文中调用。static全局变量只能声明后的本文中调用。static局部变量只能声明后的本函数调用 静态...
c语言中static说明是什么意思?
C语言中static的含义是静态。关于static在C语言中的详细解释如下:一、静态变量的定义 在C语言中,使用static关键字声明的变量称为静态变量。静态变量具有固定的生命周期,它们在整个程序执行期间都会存在,而不是仅在它们所在的代码块执行完毕后就被销毁。这意味着静态变量的值在函数调用之间保持不变。二、...
static在c语言中代表什么
在C语言中,`static`是一个关键字,用于修饰变量、函数和代码块。它有以下几种含义:修饰变量:当一个变量被声明为`static`时,它会在该程序的作用域内被存储,而不是在堆栈上。这意味着该变量可以在程序的多个函数之间共享,并且不会因为函数的调用而丢失。修饰函数:当一个函数被声明为`static`时...
c语言编程中“static”是什么意思?
在C语言编程中,“static”关键字主要用于表示变量的存储方式和生命周期。详细解释如下:一、静态变量的存储方式 当我们在C语言中使用“static”关键字声明一个变量时,这个变量会被存储在程序的静态存储区。这意味着这个变量的生命周期是整个程序的运行期间,而不是只在它所在的代码...
Static是什么意思啊,在C程序里面
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:[extern] 函数类型 函数名(函数参数表){……} 调用外部函数时,需要对其进行说明:[extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];二、C语言是一门面向过程...
c语言里的static和auto是什么意思?
在C语言中,static和auto是两个关键词,它们分别表示静态和自动的意思。static:这个关键词用于修饰变量或函数。当它修饰变量时,表示这个变量是静态的,也就是说,这个变量的生命周期被延长至程序运行期间,而不是只在函数执行期间存在。当它修饰函数时,表示这个函数是静态的,也就是说,这个函数只在本...
c语言中static说明是什么意思
static 用来说明静态变量。如果是在函数外面定义的,那么其效果和全局变量类似,但是,static定义的变量只能在当前c程序文件中使用,在另一个c代码里面,即使使用extern关键词也不能访问这个static变量。
Static是什么意思啊,在C程序里面
static 函数内部函数和外部函数 当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。内部函数 (又称静态函数)如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。定义一个...
static在C和C++里各代表什么含义
局部静态变量(C)static类型分配在静态存储区,在程序整个运行期间都不释放。static局部变量在初次运行时进行初始化工作,且只初始化一次。;2.外部静态变量/函数(C)在C中static的第二种含义:用来表示不能被其它文件访问的全局变量和函数。3.静态数据成员/成员函数(C++)C++重用了这个关键字,它表示...