c语言函数储存类别 c语言的储存类别

C语言中,函数的隐含存储类别是 auto 还是 extern,为什么两种答案我都看到过

函数的存储类型指的是其他文件模块可否访问,其类别可以是extern或static。

成都网络公司-成都网站建设公司成都创新互联10多年经验成就非凡,专业从事成都网站设计、做网站,成都网页设计,成都网页制作,软文平台1元广告等。10多年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!

static是指该函数只能被本源程序文件道中的模块访问。extern是指可被本源程序文件外的模块访问。

C语言中函数的存储类型隐含为版全局的,因此默认为extern。

函数内定义的变量,默权认作用域在本函数内,即其类型是auto。

扩展资料:

C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。

其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。

extern用在变量声明中常常有这样一个作用:要在*.c文件中引用另一个文件中的一个全局的变量,那就应该放在*.h中用extern来声明这个全局变量。

extern用于变量的用法:

1、extern int a;//声明一个全局变量a

2、int a; //定义一个全局变量a

3、extern int a =0 ;//定义一个全局变量a 并给初值。一旦给予赋值,一定是定义,定义才会分配存储空间。(注意:经过测试在GCC中,这样定义变量是不能通过编译的,而在VS2013可以)

参考资料来源:百度百科——extern

参考资料来源:百度百科——auto

在C语言中,存储类别包括什么?

1、c语言中的存储类型有static 、auto、extern、及register,函数默认的存储类型应该是extern,意思是具有外部链接性的。一般来说,会通过extern来声明函数。

2、比如下面的代码,在1.c中定义一个函数,函数的声明写在1.h头文件中,在2.c中通过添加1.h的头文件,来声明及调用函数f()。

//1.c

void f() { ; }

//1.h

extern void f();

//2.c

#include "1.h"

int main() { f();}

函数隐含的存储类别

函数隐含的存储类别extern。只要在定义函数时不进行存储类型的显式说明,函数的存储类型就隐含为外部类型,即extern型,外部类型允许其他文件中的函数调用。在C语言中,提供了四种存储类型的存储说明符:auto、Register、Extern和static。这四个存储类别说明符有两个存储术语:自动存储术语和静态存储术语。


网站名称:c语言函数储存类别 c语言的储存类别
转载注明:http://cdiso.cn/article/dddogoe.html

其他资讯