Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:c:存储类型

C语言数据存储类型

链接性、作用域和生命周期

  • 作用域:一个变量可以被引用的范围
  • 生命周期:这个变量可以访问的时间段
  • 链接性:多个文件间的数据共享

特殊情况

  • 手动分配的内存(new/delete)需要自己管理,以下分类不包括此种
  • const类型一般(也是最好)都放在头文件,以下分类不包括此种

全局变量

  • 声明在所有代码块之外,在程序运行期间一直存在,整个文件都可访问
  • 具有外部链接性,需要引用外部变量的文件中用extern声明
  • 如果两个文件都声明了相同名称的全局变量会造成链接错误

全局静态变量

  • 限定词static
  • 声明在所有代码块之外,在程序运行期间一直存在,整个文件都可访问
  • 没有外部链接性,不会和同名的、有外部链接性的全局变量冲突

局部变量

  • 声明在代码块内部,只在代码块内部可见,没有链接性
  • 代码块结束即被注销

局部静态变量

  • 限定词static
  • 声明在代码块内部,只在代码块内部可见,没有链接性
  • 在程序运行期间一直存在,初始化只会被执行一次

可见性

  • 内部的声明会掩盖外部/全局的声明(就近原则)
/var/www/DokuWikiStick/dokuwiki/data/pages/程序/c/存储类型.txt · Last modified: 2022/03/24 00:30 (external edit)