存储类、链接和内存管理

2015-03-16  本文已影响90人  yiltoncent

CH12 存储类、链接和内存管理

作用域(scope)

传统上,具有代码块作用域的变量都必须在代码块的开始处进行声明。C99放宽了这以规则,允许在一个代码块的任何位置声明变量。你一定见过类似这样的代码:

     for(int i=0; i<10; i++)
          printf("A C99 feature: i = %d\n",i);

在一些古老的IDE或者编译器上,这样的代码可能编译不通过,主要原因可能就是它不支持C99的新特性。


链接(linkage)


存储时期(storage duration)


总结

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

存储类 时期 作用域 链接 声明方式
自动 自动 代码块 代码块内
寄存器 自动 代码块 代码块内,使用关键字static
具有外部链接的静态 静态 文件 外部 所有函数之外
具有内部链接的静态 静态 文件 内部 所有函数之外,使用关键字static
空连接的静态 静态 代码块 代码块内,使用关键字static
上一篇 下一篇

猜你喜欢

热点阅读