c语言的static函数
Ⅰ c语言static函数不能声明是什么原因
如果只在当前的.c文件中使用,不会在别的.c文件中使用,此时在.c而不是.h文件中用static声明;如果声明的全局变量会在别的.c文件中使用,那么将其声明为extern的,并放在.h文件中。
语言特点
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型。
可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。通过对C语言进行研究分析,总结出其主要特点如下:
(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少。
且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
以上内容参考:网络-C语言
Ⅱ c语言static用法
static是静态变量,程序运行时,它的值不会被重新初始化,对于这题来说,没必要把k设成静态的,一般的变量也能计算出来,因为中间没有重新初始化的操作
Ⅲ c语言中static 函数和普通函数的区别
static是静态函数,可以是全局函数,而普通函数是局部函数
全局函数可以在其它模块中引用调用。作用域比普通函数大。
Ⅳ C语言里面的静态函数 和 函数有区别吗
静态函数是函数的一种,函数包括静态函数和非静态函数两种。
其中静态函数是有static修饰的函数,如果没有,则为非静态函数(全局函数)。
当整个程序只有一个C文件时,二者没有区别。
当程序是由多个C文件组成时,二者的作用域,即可使用的范围不同。
其中,静态函数(带static的),只能在本文件中使用,无法跨文件。
而非静态函数(不带static的),可以在任何一个文件中使用。当在其它文件中使用时,需要做函数声明后再使用。
Ⅳ C语言中,其他文件可否调用文件中的static函数
不能,C语言中的static函数,内部函数和外部函数,函数一旦定义后就可被其它函数调用。
当一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用,C语言又把函数分为两类。
如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,
这种函数称为内部函数。
内部函数也称为静态函数,但此处静态static
的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件。
外部函数在整个源程序中都有效,其定义的一般形式为extern
类型说明符
函数名形参表。
C语言中static函数,只能被本文件中的函数所使用,别的c文件中不能访问这个函数,而且你可以在别的文件中定义与之同名的函数,不会互相干扰。
Ⅵ C语言中static修饰的函数和普通函数的区别
静态函数,编译前就已经调用了,动态函数编译时再调用
Ⅶ C语言中的static
static作用:1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2、 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用
Ⅷ c语言中的static是什么
static
用来说明静态变量。
如果是在函数外面定义的,那么其效果和全局变量类似,但是,static定义的变量只能在当前c程序文件中使用,在另一个c代码里面,即使使用extern关键词也不能访问这个static变量。
如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,也就是说,当你再次调用这个函数的时候,里面用到这个static变量时,就会发现,还是它还是上一次函数调用时的结果。
Ⅸ C语言中的static函数问题
直接include是可以的。
因为#include是一个预处理指令,它的作用是替换,将list.h中的内容替换到你的源文件中。这样,list.h中的static变量也就存在于你的源文件当中了。
所以,在包含了list.h的文件里,可以使用list.h中的static变量。
Ⅹ C语言static()函数
static是关键字,可以用来修饰任何函数,表示这个函数只能在当前文件使用,不能被项目中其它c文件调用