c prime plus 的内存,储存,链接

c的变量为6种不同的储存模型,或称存储类。

1:自动变量

2:寄存器变量

3:具有代码块作用域的静态变量

4:(文件作用域)

具有外部链接的 静态变量

具有内部链接的静态变量

6:  结构体


可通过他的存储时期,作用域,链接来描述他


1.存储时期就是变量在内存中保留时间,


2.一个c变量的作用域为
代码块作用域(block scope),
函数原型作用域,
文件作用域。


a.代码块作用域:
例如:全局变量,局部变量
0  #include<stdio.h>
 1  void  Mouse(int m,int n,int p);
2 int a=2;
3 int main(int argc,char const* argv[])
4 {
 5       int a=2;
 6        printf("a=%d",a);
7 }
8
9   void  Mouse(int m,int n,int p){
10
11 }
第二行的a为全局变量,拥有文件作用域(file scope),
(一个在所有函数之外定义的变量),具有文件作用域
的变量从他定义处到包扩该定义的文件结尾处都可见。


第五行的a为局部变量,
输出:a=5


第九行为函数原型作用域(function prototype scope);
适用于函数原型中使用的变量


3.链接:
一个c变量的链接有:
外部链接
内部链接
空链接


a:具有文件作用域的变量可有
外部链接或内部链接
(一个具有外部链接的变量可以在多文件程序的任何地方使用
一个具有内部链接的变量可在一个文件的任何地方使用)
例如:
int g;//g是外部链接
static int a;//a是内部链接
int main(int argc,char const* argv[])
{...........(此处省去一万字)
return 0;
}


b:具有代码块作用域或函数原型作用域的变量有空链接
(这代表他们是所定义的代码块或函数原型所私有的)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值