C中的存储类

C使用作用域、链接和存储时期来定义5种存储类。

作用域分为:代码块作用域、函数原型作用域、文件作用域

链接分为:外部链接(没有使用static定义的文件作用域变量)、内部链接(使用static定义的文件作用域变量)、空链接(具有代码块作用域或函数原型作用域的变量)

存储时期分为:静态存储时期(具有文件作用域的变量)和自动存储时期(具有代码块作用域的变量)


所以存储类分为:自动、寄存器、具有代码块作用域的静态、具有外部链接的静态、具有内部链接的静态

存储类 时期 作用域 链接 声明方式

自动 自动 代码块 代码块内

寄存器 自动 代码块 代码块内,使用关键字register

具有空链接的静态静态代码块 代码块内,使用关键字static

具有外部链接的静态静态文件外部 所有函数之外

具有内部链接的静态静态文件内部 所有函数之外,使用关键字static


此外,还有基于指针的第6种存储模型


这5种存储类不仅可以运用在变量上,还可以运行在函数上。

函数也具有存储类。函数默认情况下是外部的,用static声明后就成为了内部的(只能在包含它的文件中使用),此外,还有第三种可能性,那就是内联函数。

所以函数的声明有如下的方式:

int test();

static int test();

extern int test();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值