c语言 函数 static,C语言中的Static和内联函数

c语言 函数 static,C语言中的Static和内联函数_第1张图片

局部变量用static声明,则使该变量在整个程序执行期间不释放,分配的内存单元始终存在。

外部变量用static声明,则该变量只能在本文件中使用,而不能在其他文件中使用。

extern inline函数允许和全局函数重名,可以在文件范围内替代外部定义的全局函数。 在②处调用cels的时候编译器可能选择用本文件内的inline版本,也有可能跑去调用外部定义的cels函数(c99没有规定此时的行为,不过编译器 肯定都会尽量使用文件内定义的inline版本,要不然inline函数就没有存在的意义了)。宏替换,使用函数体替换调用处的函数名,一般在代码中用inline修饰,但是是否能行成内联函数,需要看编译器对函数定义的具体处理显式内联函数:在类内部声明

内部函数:一个函数只能被本文件中其他函数所调用,称为内部函数,定义时,函数类型前面加上static,即:static int fun(int a,int b); 内部函数由称为静态函数,作用域只限于所在文件,在不同的文件中有同名的内部函数,互不干扰。

外部函数:定义时加上extern,可供其他函数调用。

4、堆和栈的比较

--- 申请方式:

stack -由系统自动分配(局部变量)

你可能感兴趣的:(c语言,函数,static)