1.两者特点 两者都是C语言中的关键字,static是静态的意思,可以用来修饰局部变量,修饰全局变量,修饰函数,extern是用来声明外部符号的。 2.作用域和生命周期 2.1作用域: 作用域是程序设计理念,通常来说,一段程序代码中所用到的名字并不总是有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。 2.2生命...
下面是C语言中static和extern的'区别,一起来学习下吧: static: 一、在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。 1、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点。 a.在全局区分配内存。 b.如果没有初始化,其默认值为0. c....
C语言中static和extern的区别 static和extern关键字 (1)定义变量:static可以用来修饰局部变量以扩展局部变量的生存期,生存期为程序的整个生命周期,在退出函数时保持其值,作用域在函数体内;static定义的全局变量只能在该文件中使用;extern将变量声明为外部变量,可以在其他文件中使用。 (2)定义函数:static可以把函数声明为...
也就是说,static inline和extern inline的区别就是,当编译器决定不内联这个函数时,是将函数作为static函数处理还是extern函数处理。
extern:声明变量是在其他文件正声明(也可以看做是引用变量) static :声明静态变量
extern 是外部变量 static 是静态变量 因此,extern只能有一个,也只能定义一次,而static可以有多个,可以重复定义,无论如何定义,它们所指的对象仍然是同一个
* static也可以用来声明一个内部函数 2.extern * 在定义函数时,如果在函数的最左边加上关键字extern,则表示此函数是外部函数,可供其他文件调用。C语言规定,如果在定义函数时省略extern,则隐含为外部函数。 * 在一个文件中要调用其他文件中的外部函数,则需要在当前文件中用extern声明该外部函数,然后就可以使用,这里...
你这个问题相当牛,几乎完全没有关系的两个关键字,区别确实不好回答。联系估计就是都是类型修饰符,区别太多。一般来说,extern 修饰的是全局变量或者函数,表示外部引用。对于C++语言还有一个特殊用法,extern "C" 表示该段程序应认为是C语言编写。static 一般表示局部静态变量,可以用在函数内,也可以...
【C语言】C语言static和extern区别 目录: 【static】 【extern】 1.static · 定义一个内部函数/变量。 · 声明一个内部函数/变量。 2.extern · 定义一个外部函数/变量。 · 声明一个外部函数/变量。 注:在函数定义、声明中,extern可省略(默认)。
而pINT2 a,b;的效果同int *a, b;表示定义了一个整型指针变量a和整型变量b。注意:两者还有一个行尾;号的区别哦!2)static和extern的区别 extern int a;说明 a 是在另外一个文件中定义的变量 这是声明,不是定义。static int a;定义静态变量 a.两者的作用域不一样 ...